Spring security 如何让超级用户使用Spring Security Framework?

Spring security 如何让超级用户使用Spring Security Framework?,spring-security,Spring Security,我正在使用来控制web应用程序中的权限。我在代码中导入了安全性标记,如下所示: 然后,我使用这样的代码块来控制用户是否可以访问指定的按钮: 添加用户 使用此代码,只有拥有添加用户权限的用户才能看到并使用此按钮。 现在我的问题是:我们能有一个超级用户,即使它没有addUser权限,他仍然可以看到这个按钮吗?不,我认为Spring Security中没有内置这样的功能。您可以: 在每次授权检查中检查超级用户角色(权限),或 为超级用户提供身份验证提供商或用户详细信息服务中所有可能的权限 我不确

我正在使用来控制web应用程序中的权限。我在代码中导入了安全性标记,如下所示:

然后,我使用这样的代码块来控制用户是否可以访问指定的按钮:


添加用户
使用此代码,只有拥有添加用户权限的用户才能看到并使用此按钮。


现在我的问题是:我们能有一个超级用户,即使它没有addUser权限,他仍然可以看到这个按钮吗?不,我认为Spring Security中没有内置这样的功能。您可以:

  • 在每次授权检查中检查超级用户角色(权限),或

  • 为超级用户提供身份验证提供商或用户详细信息服务中所有可能的权限


  • 我不确定这是否是预期的答案,但SpringSecurity有一个角色层次的概念。这意味着您可以创建一个超级用户角色,并将其声明为包含
    addUser
    权限(以及其他)

    这样,任何拥有
    超级用户
    权限的用户(以及其他权限)都会看到您的按钮

    参考:在Spring安全参考手册中,您可以编写如下内容

    
    角色超级用户>角色添加用户
    
    这似乎是缺少的需求,因此我在Spring Security repository中创建了一个问题:


    在我将问题发布到stackoverflow之前,我已经在google上搜索了它并找到了分层角色,但它不能满足我的要求,因为当使用它时,我需要将所有权限写入spring xml配置文件中,但权限太多,它们存储在数据库中@lucumt自定义超级用户投票者可能是一个解决方案。如果你感兴趣的话,我会在一段时间内详细说明。是的,我使用了第二种解决方案,虽然这不是一个好的解决方案,但我仍然需要感谢你!
    <bean id="roleHierarchy"
            class="org.springframework.security.access.hierarchicalroles.RoleHierarchyImpl">
        <property name="hierarchy">
            <value>
                ROLE_SUPER_USER > ROLE_ADD_USER
            </value>
        </property>
    </bean>