我提到了这个问题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 )
答案 0 :(得分:1)
if (result.resultSet.length == 1)
或者加上你想要在返回的记录上做的任何其他检查。
if (result.resultSet.length == 1 && result.resultSet[0].t_id > 0)
顺便说一句:
在过程名称之前,invocationData中有一个杂散空间:
procedure : " login",