我正在创建一个Angular2应用程序,其中我需要自定义登录而不是现有目录登录所以,我添加了以下代码并创建了一些新文件和代码,如下所示
我在后端位置添加了一个新文件login.js,代码如下
directory.setLoginListener("loginFuction","Admin");
我修改了我的require.js,如下所示
function loginFunction(email,password){
console.log("Call is being made to the backend");
var u = ds.User.find("email : 1" ,email);
console.log(u);
if(!u){
return false;
}else{
var token = currentSession.promoteWith("Admin");
if(u.password == password){
var theGroups = [];
switch(u.role){
case 'Admin':
theGroups.push('Admin');
break;
case 'Users':
theGroups.push('Users');
break;
}
var connectTime = new Date();
return {
ID : u.ID,
name : u.email,
fullName : u. fullname,
belongsTo : theGroups,
storage:{
time : connectTime
}
};
}else{
return {
error : 1024,
errorMessage : "invalid login"
}
}
}
};
当我从我的普通组件调用loginFunction时,如
this.wakanda.directory.login('adithya@gmail.com','adithya').then(res => {
console.log(res);
});
我收到错误说明
EXCEPTION:未捕获(承诺):错误:Directory.login:未经授权
所有表格都可以全局访问,所有内容都是公开的。
任何人都可以帮我解决这个问题。
提前致谢。
答案 0 :(得分:1)
在wakanda studio 1.1.3中创建自定义登录的确切方法如下所示我们必须在bootstrap.js中的函数调用中进行更改,如下所示
directory.setLoginListener("loginFunction");
删除" Admin"作为第二个参数。