【问题标题】:Spring Security TablesSpring 安全表
【发布时间】:2012-11-04 10:56:42
【问题描述】:

在 spring 安全文档中,有五个表要创建。

1.用户 2.authorities(将用户映射到权限) 3.组 4.groups_authorities(将组映射到权限) 5.group_members(将用户映射到组)

为什么我们需要将用户和权限都映射到组?如果我们将权威或用户映射到组,我们不能推导出其他关系吗?

【问题讨论】:

    标签: spring spring-security


    【解决方案1】:

    多亏了这种方法,每个用户都可以拥有一些额外的权限——在他/她的任何组中都没有授予的权限。

    例如:

    • user1 分组 admins, plain_users
    • admins 组有权限ROLE_ADMIN
    • plain_users 组有权限ROLE_USER
    • user1 有一些额外的权限 ROLE_SUPER_USER

    在成功通过身份验证后,他/她的List<GrantedAuthority> 包含ROLE_ADMINROLE_USER 和...额外的ROLE_SUPER_USER 权限。

    【讨论】:

    • 感谢您抽出宝贵时间提供详细的回复。
    • 同样的目标可以通过定义三个组来实现 1.admins 使用 ROLE_ADMIN 2.plain_users 使用 ROLE_USER 3.super_users 使用 ROLE_SUPER_USER user1 可以作为成员添加到所有这三个组中。
    • 你是对的。所以 Spring Security 足够灵活,可以接受许多不同的领域模型。
    猜你喜欢
    • 2018-12-27
    • 2013-04-27
    • 1970-01-01
    • 2020-07-19
    • 2017-03-09
    • 1970-01-01
    • 2017-08-11
    • 2021-11-29
    • 2015-12-31
    相关资源
    最近更新 更多