javascript - express项目,做角色控制
天蓬老师
天蓬老师 2017-04-11 09:55:23
[JavaScript讨论组]

1、使用框架:nodejs的express框架
2、目前需求:系统中有三种不同的角色,不同的角色可访问的接口是不一样的
3、初步方法:在每一个接口上对得到的角色进行验证,成功可访问,失败则拒绝。
4、存在问题:当接口很多或是增加角色时,几乎是要重写一遍。
要怎么实现才能较少的改动代码和较好的适应性那?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(2)
黄舟

https://github.com/stormpath/...

https://github.com/jaredhanso...

这些都是现成的授权、认证的中间件。

实在不行自己写一个权限表,加个中间件,先校验用户角色是否匹配,不匹配直接重定向跳转,匹配就next();

举个非常简单的例子

const = roleMap = {
  a: ['/api/']
};
app.use(function (req, res, next) {
    if (roleMap[req.session.role].findIndex(req.path)>=0) {
        next();
    } else {
       res.redirect("/auth");
    }
});
伊谢尔伦

把用户拥有的权限储存到数据库,登陆时获取。
储存
api/a
api/b

访问接口的时候通过url判断用户权限中是否有。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号