【问题标题】:Unable to validate role in Spring Security无法验证 Spring Security 中的角色
【发布时间】:2016-06-06 06:16:16
【问题描述】:

我正在使用 Spring Security 4.1.0.RELEASE 和 Spring 4.1.0.RELEASE。

我遇到以下错误,请建议我。

我的网址格式:

 <intercept-url pattern="/AS/**" access="hasRole('AS')"/>
        <intercept-url pattern="/SA/**"  access="hasRole('SA')"/>
        <intercept-url pattern="/SE/**" access="hasRole('SE')"/>

例外:

java.lang.IllegalArgumentException: Failed to evaluate expression 'SE'
    org.springframework.security.access.expression.ExpressionUtils.evaluateAsBoolean(ExpressionUtils.java:30)
    org.springframework.security.web.access.expression.WebExpressionVoter.vote(WebExpressionVoter.java:54)
    org.springframework.security.web.access.expression.WebExpressionVoter.vote(WebExpressionVoter.java:35)
    org.springframework.security.access.vote.AffirmativeBased.decide(AffirmativeBased.java:63)
    org.springframework.security.access.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:233)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:124)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:331)
    org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:115)

【问题讨论】:

  • 能否提供详细配置?
  • 你在哪里设置角色?

标签: spring spring-security


【解决方案1】:

尝试添加感叹号,例如 - access="!hasRole('USER')"

【讨论】:

    猜你喜欢
    • 2015-04-12
    • 2015-08-15
    • 2017-03-05
    • 2020-07-08
    • 2012-08-17
    • 2014-08-31
    • 1970-01-01
    • 2017-07-16
    • 1970-01-01
    相关资源
    最近更新 更多