在wakanda 1.1.3中创建自定义登录

时间:2017-02-09 17:33:12

标签: wakanda

我正在创建一个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:未经授权

所有表格都可以全局访问,所有内容都是公开的。

任何人都可以帮我解决这个问题。

提前致谢。

1 个答案:

答案 0 :(得分:1)

在wakanda studio 1.1.3中创建自定义登录的确切方法如下所示我们必须在bootstrap.js中的函数调用中进行更改,如下所示

directory.setLoginListener("loginFunction");

删除" Admin"作为第二个参数。