如何在基于角色的访问控制上实现默认角色

时间:2013-02-05 10:48:46

标签: java mysql rbac

我正在实施基于角色的访问控制系统。

用户拥有角色(多对多)
角色有权限(多对多)
角色有权限(多对多)
对客户的角色belongs

我希望有2个默认角色管理员普通。问题是,角色 s belong给客户。所以这意味着我需要为每个客户定义这个默认角色。

如何避免为每位客户定义相同的2个角色?

(我想出的第一个想法是保持这些默认角色的所有者为NULL,但是这会增加很多额外的控制权并且超过我的授权方法)

1 个答案:

答案 0 :(得分:0)

不确定我是否做对了,但角色不应该依赖于用户......

DB级别的一般解决方案使用连接表,即一个USER表,一个ROLE表和一个USER_ROLE表,分别有两个外键到USER和ROLE表。

JPA级别的解决方案 (我假设您使用此项是因为您添加了“Java”标签)是注释表示与@ManyToMany标记关联的集合,框架将处理其余的。