求关于用户、角色、权限设计相关方面的资料

2012-03-17 23:20:55 +08:00
 chho
主要是WEB方面的权限管理,从数据库的schema设计到前端url的权限控制,有没有什么最佳实践之类的文章,大家读过感觉比较好的,可以推荐一下吗?谢谢^^
6746 次点击
所在节点    问与答
7 条回复
sharmy
2012-03-19 13:43:22 +08:00
table resources<urls> 存放所有的资源,这里是URL地址例如/member/edit
table roles 存放所有的角色
table resource_roles 存放角色和资源之间的关系,及哪些角色拥有哪些资源的访问权限
table users 存放用户
table role_users 存放用户和角色之间的关系,及哪些用户拥有哪些角色。

这样最终就通过user->role->resource中转,可以得到每个用户拥有哪些资源的权限。

当然还有一个全局访问策略问题,例如默认是允许全部访问,还是全部禁止访问。然后resource_roles这个表里面可以有个字段定义当前记录是定义允许访问,还是禁止访问。最后将全局策略和查询出的具体访问定义取交并集,即得到最终的权限列表。
chho
2012-03-19 13:53:35 +08:00
@sharmy 您的db schema是基于RBAC来做的一个简略的设计吧,非常感谢!
avatasia
2012-03-19 14:27:44 +08:00
@sharmy 假如某个用户拥有的权限是其角色的超集怎么办? 是不是从设计上不允许这样的事情
holystrike
2012-03-19 14:33:47 +08:00
@avatasia 那要另起一个新角色来赋给这个用户
sharmy
2012-03-21 12:51:57 +08:00
@holystrike 就是这样
sospartan
2012-03-21 12:53:34 +08:00
毕业设计?
那么多年过去~
sealon
2012-03-21 22:33:33 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/29925

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX