Spring3, Security3: система работает в Windows, но не в Linux. Java.lang.IllegalArgumentException - PullRequest
1 голос
/ 31 марта 2011

Система работает на Windows, но не на Linux.Я могу войти в систему и перечислить данные, но как только я перехожу на любую из следующих страниц, я получаю сообщение об ошибке ниже:

<http auto-config="true" use-expressions='true'>
        <intercept-url pattern="/friends/**" access="ROLE_USER" />
        <intercept-url pattern="/articles/**" access="ROLE_USER" />
</http>

java.lang.IllegalArgumentException

HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

java.lang.IllegalArgumentException: Failed to evaluate expression 'ROLE_USER'
    org.springframework.security.access.expression.ExpressionUtils.evaluateAsBoolean(ExpressionUtils.java:13)
    org.springframework.security.web.access.expression.WebExpressionVoter.vote(WebExpressionVoter.java:34)
    org.springframework.security.access.vote.AffirmativeBased.decide(AffirmativeBased.java:50)
    org.springframework.security.access.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:203)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:106)
    org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
    org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:380)

Ответы [ 2 ]

14 голосов
/ 31 марта 2011

Смотрите весенний форум .Выражение должно быть hasRole ("ROLE_USER")

3 голосов
/ 02 июня 2015

В Spring 3.0 это access = "ROLE_USER"

В Spring 4.0 или более поздней версии это access = "hasRole ('ROLE_USER')"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...