扫码关注官方订阅号
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
RBAC几乎无关语言、框架,主要是数据库结构上面设计;通常来讲需要5张表:1、 auth_user // 用户表2、 auth_node // 可授权节点表 3、 auth_role // 角色表4、 auth_user_role // 用户《=》角色关系对应表,因为用户和角色是many-to-many的关系(or ones-to-one,看实际情况)5、 authenticated // 角色授权表 同样是many-to-many的关系
用户可对应N个角色(不一定非一成不变),每个角色可授权N个节点,节点权限验证的时候,使用用户的所有角色去取得已授权的节点列表,然后判断,就这么简单。开发中可能会根据实际情况有一些变动,灵活处理即可。
另外说一句,Flask有RBAC的实现方案,不过没用过,github上面关注度也不高,给传送门吧 https://github.com/shonenada/flask-rbac
flask 不是有自己的 权限管理机制嘛? flask-web开发一书上不是讲有吗 我见很方便
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
RBAC几乎无关语言、框架,主要是数据库结构上面设计;通常来讲需要5张表:
1、 auth_user // 用户表
2、 auth_node // 可授权节点表
3、 auth_role // 角色表
4、 auth_user_role // 用户《=》角色关系对应表,因为用户和角色是many-to-many的关系(or ones-to-one,看实际情况)
5、 authenticated // 角色授权表 同样是many-to-many的关系
用户可对应N个角色(不一定非一成不变),每个角色可授权N个节点,节点权限验证的时候,使用用户的所有角色去取得已授权的节点列表,然后判断,就这么简单。开发中可能会根据实际情况有一些变动,灵活处理即可。
另外说一句,Flask有RBAC的实现方案,不过没用过,github上面关注度也不高,给传送门吧 https://github.com/shonenada/flask-rbac
flask 不是有自己的 权限管理机制嘛? flask-web开发一书上不是讲有吗 我见很方便