2013-09-24 3 views
0

나는 작업중인 샘플 앱에서 어댑터 인증을 사용하고 있습니다. 나는의 로그인 페이지가 시작 필요한, 그래서 그것을 아래 도전자의 핸들러를 호출SQL 어댑터 인증 - 워크 라이트

기능 wlCommonInit() {

WL.Client.login("AuthRealm", {onSuccess: winFunction, onFailure: failureFunction}); 

} liek JS 파일에 WL.Client.Login을 사용했다 기능은

$("#AuthSubmitButton").bind('click', function() { 
    var username = $("#AuthUsername").val(); 
    var password = $("#AuthPassword").val(); 
console.log("called"); 
    var invocationData = { 
     adapter : "Auth", 
     procedure : "submitAuthentication", 
     parameters : [username,password ] 
    }; 

를 호출지고 그래서 나는이 같은 입력을 얻고 어댑터-impl.js 파일로 이동합니다 ..

var auth = WL.Server.createSQLStatement("select * FROM users WHERE Username = ? AND Password = ? ;"); 
function submitAuthentication(username,password){ 

    return WL.Server.invokeSQLStatement({ 
     preparedStatement :auth, 
     parameters : [username,password], 

    }); 

} 

문제는 내가 useridentity 및 WL.Server.setActiveUser("AdapterAuthRealm", userIdentity);WL.Server.invokeSQLStatementonsuccess 매개 변수를 수락하지를 만들 수있는 잘 모릅니다 .. 성공적 시작에 로그인 페이지를 표시하고 너무 어댑터 파일로 이동한다.

작업 표시 줄에 대한 SQL 어댑터 인증에 사용할 수있는 예제가 없습니다. 그래서 나는 질문 할 것이 아니라 선택의 여지가 있었다. 이걸 도와주세요!

답변

1

당신은 단지 SQL 호출 결과를 반환 할 필요가 없습니다. 반대로 어댑터에서 인증을 사용하여 인증이 성공했는지 확인하십시오. 예 :

var result = WL.Server.invokeSQLStatement(....); 
if (result is not empty) { 
    WL.Server.setActiveUser("realm", userIdentity). 
    return {authStatus:"success"}; 
} else 
    return {authStatus:"failure"}; 
+0

감사합니다. 그것은 결과 변수를 부울로 선언하더라도 오류를 표시합니다 ... .. – Ash

+0

@Anton WL-AUTHENTICATION-SUCCESS가 보호 프로 시저의 결과에 없습니다. 왜? – BalajiG