【问题标题】:Custom Permission Evaluator自定义权限评估器
【发布时间】:2014-01-28 23:46:57
【问题描述】:

我正在尝试覆盖 Spring Security 3.0 中的默认权限评估器,但无论我做什么,权限提升器都会被忽略,而是调用默认的 DenyAllPermissionEvaluator

我正在使用编程配置,我尝试通过覆盖 WebSecurityConfigurerAdapter 类的 configure(WebSecurity) 和 configure(Http) 方法来设置权限评估器,但这并没有多大帮助。

设置 Spring Security 实际使用的自定义权限评估器的正确方法是什么?

【问题讨论】:

  • 发布一些代码/配置。

标签: java spring spring-security


【解决方案1】:

使用xml配置

<security:global-method-security secured-annotations="enabled" pre-post-annotations="enabled">
    <security:expression-handler ref="methodSecurityExpressionHandler"/>
</security:global-method-security>

<bean id="methodSecurityExpressionHandler" class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler">
       <property name="permissionEvaluator" ref="defaultPermissionEvaluator"/>
    </bean>

然后像平常一样简单地定义你的bean:

<bean id="defaultPermissionEvaluator" class="com.your.class.implements.permissionevaluator"/>

还没有使用 java conf(我是唯一还在使用 xml conf 的人吗?),但从上面转换应该不难。并确保您在正确的位置进行定义,在大多数情况下是根上下文,无论我们是在 Web 上下文中进行的,以保护控制器

【讨论】:

    猜你喜欢
    • 2017-10-27
    • 1970-01-01
    • 2015-08-18
    • 1970-01-01
    • 2016-03-29
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 2016-01-04
    相关资源
    最近更新 更多