扫码关注官方订阅号
1、使用框架:nodejs的express框架2、目前需求:系统中有三种不同的角色,不同的角色可访问的接口是不一样的3、初步方法:在每一个接口上对得到的角色进行验证,成功可访问,失败则拒绝。4、存在问题:当接口很多或是增加角色时,几乎是要重写一遍。 要怎么实现才能较少的改动代码和较好的适应性那?
欢迎选择我的课程,让我们一起见证您的进步~~
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/aapi/b
api/a
api/b
访问接口的时候通过url判断用户权限中是否有。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
https://github.com/stormpath/...
https://github.com/jaredhanso...
这些都是现成的授权、认证的中间件。
实在不行自己写一个权限表,加个中间件,先校验用户角色是否匹配,不匹配直接重定向跳转,匹配就next();
举个非常简单的例子
把用户拥有的权限储存到数据库,登陆时获取。
储存
api/aapi/b访问接口的时候通过url判断用户权限中是否有。