需要有关基于用户角色的设计的建议

时间:2013-01-07 03:02:26

标签: java database-design struts2

假设我正在建立一个像stackoverflow这样的Q& A网站。我的网站具有以下主要功能:

发布:帖子可以是问题或答案

个人资料:用户的个人资料

私信:存储用户的私信

...

我试图弄清楚如何在我的系统中设计用户角色。 我想出来: (每个用户只属于一个角色)

enter image description here

设计这样的用户角色是否可以?如果没有,有人能给我一些建议吗? 我正在使用MySQL,Struts 2.在Struts 2中,是否有任何可用于基于角色的访问控制(RBAC)的库?

(我已阅读Need some advice on my own Role Based Access Control (RBAC),但似乎无法解决我的问题)

1 个答案:

答案 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