在worklight中登录身份验证

时间:2014-03-22 10:15:55

标签: ibm-mobilefirst worklight-adapters worklight-studio

我提到了这个问题Login Authentication In IBM Worklight我已经阅读了所有的pdf,但我的登录仍然无效。我使用了另一种方法来检查数据库。

 var procedure1Statement = WL.Server.createSQLStatement("select t_id  from teacher where  
         t_id=? and t_password=?"); 

 var response;
function login(id,pass) {
 response=  WL.Server.invokeSQLStatement({
    preparedStatement : procedure1Statement,
    parameters : [id,pass]});
return response;
 }

    function submitAuthentication(id, pass){
var invocationData={
    adapter : "admin",
    procedure : " login",
    parameters : [id,pass], 
    };

var result=WL.Server.invokeProcedure (invocationData);

if(result.t_id >1 )
{
    var userIdentity = {
            userId : id,
            displayName : id,
            attributes: {
                role: "admin"
            }
    };
WL.Server.setActiveUser("adminRealm",userIdentity);
    return{
        authRequired : false
    };
}   
 return onAuthRequired(null,"Invalid Login Credentials");

}


function onLogout(){
WL.Logger.debug("Logged Out");
}

我应该在这里使用什么条件才能使其发挥作用

   if(result.t_id >1 )

1 个答案:

答案 0 :(得分:1)

if (result.resultSet.length == 1) 

或者加上你想要在返回的记录上做的任何其他检查。

if (result.resultSet.length == 1 && result.resultSet[0].t_id > 0) 

顺便说一句:

在过程名称之前,invocationData中有一个杂散空间:

procedure : " login",