0

嗨,我有一个 Spring Security 应用程序

<http auto-config="true">
    <intercept-url pattern="/**" />
    <form-login authentication-failure-handler-ref="authenticationFailureHandler" authentication-success-handler-ref="authenticationSuccessHandler" login-page="${loginUrl}" authentication-failure-url="${loginUrl}" />
    <logout logout-url="/logout" invalidate-session="true" success-handler-ref="logoutSuccessHandler" />
    <anonymous enabled='false'/>
</http>

但是匿名用户没有被拦截,我怎样才能允许所有角色但不允许 ROLE_ANONYMOUS?

4

1 回答 1

2

尝试IS_AUTHENTICATED_FULLY

<intercept-url pattern="/**" access="IS_AUTHENTICATED_FULLY" />

您可以使用 SpEL 表达式做同样的事情:

<http auto-config="true" use-expressions="true">
    ...        
    <intercept-url pattern="/**" access="isAuthenticated()" />        
    ...
</http>

此处列出了所有可用的表达式。一般来说,SpEL 表达式更灵活。

于 2013-08-28T13:15:29.130 回答