Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在实施基于角色的访问控制系统。
用户拥有角色(多对多) 角色拥有权限(多对多) 角色拥有特权(多对多) 角色belongs对客户
belongs
我想要 2 个默认角色:管理员和普通。问题是,角色给belong客户。所以这意味着我需要为每个客户定义这个默认角色。
belong
如何避免为每个客户定义相同的 2 个角色?
(我想出的第一个想法是让这些默认角色的所有者保持 NULL ,但这会增加很多额外的控制权并分叉我的授权方法)
不确定我是否正确,但角色不应该依赖于用户......
DB级别的一般解决方案是使用一个连接表,即一张USER表、一张ROLE表和一张USER_ROLE表,其中两个外键分别指向USER和ROLE表。
JPA 级别的解决方案(我假设您使用它是因为您添加了“Java”标签)是使用 @ManyToMany 标记对表示关联的集合进行注释,框架将处理其余部分。