0

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

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

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

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

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

4

1 回答 1

1

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

DB级别的一般解决方案是使用一个连接表,即一张USER表、一张ROLE表和一张USER_ROLE表,其中两个外键分别指向USER和ROLE表。

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

于 2013-02-05T12:13:32.450 回答