获得CAS身份验证的响应后,如何在Node.js中执行基于角色的授权?

时间:2019-03-28 20:25:03

标签: mysql node.js authentication cas nodejs-server

我是CAS新手。我已经在Web应用程序上启用了CAS,并且登录后得到了以下详细信息。

属性为{userID:['tanyaD'],personUniqueNumber:['9735563'],uid:['6864h343l5jl353l5jj']

我有两个表,分别是具有角色ID,uid和用户信息的User表,以及一个具有uid和公司中所有人员的人员表。

下面是代码

  this.router.get('*', (req, res, next) => {
    // let reval;
    if (req.url.includes('/api', cas.block, appRoutes)) {
        console.log('api called');
        return next();
    } else if (req.session.cas && req.session.cas.user) {
     const uin = req.session.cas.attributes.PersonUIN[0];
        // const uid = req.session.cas.attributes.uid[0];
        const userId = req.session.cas.attributes;
        console.log('the attributes are', userId); 

//在这里,我想将用户与其uid匹配,并从用户表中获取角色,并进行基于角色的授权,并使用userid和role进入主页。

        res.render('index', {req});
    } else {
        res.redirect('/login');
    }
});

我的主页应该获得loggin用户的userId和角色。

应显示为... 欢迎Afreen, 您当前以管理员身份登录 我正在使用的cas演示:https://github.com/casinthecloud/nodejs-cas-client-demo

0 个答案:

没有答案