2
在弹簧安全文档中,将创建五个表。弹簧安全表
1.users 2.authorities(地图用户当局) 3.groups 4.groups_authorities(图组当局) 5.group_members(地图用户组)
为什么我们需要将用户和权限映射到组?如果我们将authroities或用户映射到组,我们不能推导出其他关系?
在弹簧安全文档中,将创建五个表。弹簧安全表
1.users 2.authorities(地图用户当局) 3.groups 4.groups_authorities(图组当局) 5.group_members(地图用户组)
为什么我们需要将用户和权限映射到组?如果我们将authroities或用户映射到组,我们不能推导出其他关系?
感谢这种方法,每个用户都可以拥有一些额外的权限 - 权限不在他/她的任何组中。
例如:
user1
是群体admins
,plain_users
admins
组有权ROLE_ADMIN
plain_users
组有权ROLE_USER
user1
有一些额外的权力ROLE_SUPER_USER
成功通过身份验证后,他/她的List<GrantedAuthority>
包含ROLE_ADMIN
,ROLE_USER
和...表示额外ROLE_SUPER_USER
权限。
感谢您的详细回复。 – lives
通过定义三个组可以实现同样的目标 1.admins与** ROLE_ADMIN ** 2.plain_users与** ROLE_USER ** 3.super_users与** ROLE_SUPER_USER **。 _user1_可以作为成员添加到所有这三个组中。 – lives
你说得对。因此,Spring Security足够灵活,可以接受许多不同的领域模型。 –