在通过Flask做企业应用,权限管理结构在采用RBAC实现。
请问有Flask的RBAC实现方案吗?
或者
RBAC的权限管理结构如何做。
谢谢!
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个节点,节点权限验证的时候,使用用户的所有角色去取得已授权的节点列表,然后判断,就这么简单。开发中可能会根据实际情况有一些变动,灵活处理即可。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。