Question

I referred to this question Login Authentication In IBM Worklight I have read all the pdfs but still my login is not working.I have used another method to check for the database.

 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");
}

What condition should I use here to make it work

   if(result.t_id >1 )
Was it helpful?

Solution

if (result.resultSet.length == 1) 

Or that plus whatever other checks you want to make on the returned record.

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

BTW:

You have a stray space in your invocationData before the procedure name:

procedure : " login",
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top