0

作業中のサンプル アプリでアダプター認証を使用しています。起動時にログインページが必要だったのでWL.Client.Login、jsファイルでこれを使用しました

関数 wlCommonInit(){

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

}

チャレンジャーハンドラーを呼び出し、以下の関数が呼び出されています

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

したがって、このような入力を取得している Adapter-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],

    });

}

問題は、起動時にログインページが正常に表示され、アダプターファイルにも移動することです。ユーザーIDをどこで作成でき、パラメーターを受け入れないのかわかり WL.Server.setActiveUser("AdapterAuthRealm", userIdentity);ませWL.Server.invokeSQLStatementonsuccess

Worklight の SQL アダプター認証に使用できる例はありません。ですから、質問するしかありませんでした。これで私を助けてください!

4

1 に答える 1

1

SQL 呼び出しの結果を返すだけでよいわけではありません。逆に、アダプターで使用して、認証が成功したかどうかを確認します。例えば

var result = WL.Server.invokeSQLStatement(....);
if (result is not empty) {
     WL.Server.setActiveUser("realm", userIdentity).
     return {authStatus:"success"};
} else
     return {authStatus:"failure"};
于 2013-09-24T13:18:38.750 に答える