我有一个弹簧安全应用程序
<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?
答案 0 :(得分: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>
列出所有可用的表达式here。 通常,SpEL表达式更灵活。