假设我正在建立一个像stackoverflow这样的Q& A网站。我的网站具有以下主要功能:
发布:帖子可以是问题或答案
个人资料:用户的个人资料
私信:存储用户的私信
...
我试图弄清楚如何在我的系统中设计用户角色。 我想出来: (每个用户只属于一个角色)
设计这样的用户角色是否可以?如果没有,有人能给我一些建议吗? 我正在使用MySQL,Struts 2.在Struts 2中,是否有任何可用于基于角色的访问控制(RBAC)的库?
(我已阅读Need some advice on my own Role Based Access Control (RBAC),但似乎无法解决我的问题)
答案 0 :(得分:1)
我在当前的struts2项目中实现了RBAC。RBAC
包含3件事。用户,角色和权限。
关系如下:
Role-Permission: M-M
User-Role:M-M
看,关系是这样的,因为,如果你假定你定义了一个角色ADMINISTRATOR,那么它将需要像CAN_READ,CAN_WRITE,CAN_EXECUTE等等的PERMISSIONS。您还希望定义具有上述权限组合的角色,并且您还希望创建具有某些角色组合的用户。 例如:
READER is role having permission CAN_READ.
WRITER is role having permission CAN_WRITE.
You can now have user with role READER & WRITER