我正在实施基于角色的访问控制系统。
用户拥有角色(多对多)
角色有权限(多对多)
角色有权限(多对多)
对客户的角色belongs
我希望有2个默认角色:管理员和普通。问题是,角色 s belong
给客户。所以这意味着我需要为每个客户定义这个默认角色。
如何避免为每位客户定义相同的2个角色?
(我想出的第一个想法是保持这些默认角色的所有者为NULL,但是这会增加很多额外的控制权并且超过我的授权方法)
答案 0 :(得分:0)
不确定我是否做对了,但角色不应该依赖于用户......
DB级别的一般解决方案使用连接表,即一个USER表,一个ROLE表和一个USER_ROLE表,分别有两个外键到USER和ROLE表。
JPA级别的解决方案 (我假设您使用此项是因为您添加了“Java”标签)是注释表示与@ManyToMany标记关联的集合,框架将处理其余的。