我最近升级到Spring SEcurity 4.2.2.RELEASE,现在我的OAuth2配置出现问题(使用v 2.0.7.RELEASE)。我想强制看起来像'/ context-path / api / **'的网址需要OAuth访问令牌。所以我有
<http pattern="/api/**"
create-session="never"
entry-point-ref="oauthAuthenticationEntryPoint"
access-decision-manager-ref="accessDecisionManager"
xmlns="http://www.springframework.org/schema/security">
<anonymous enabled="false" />
<intercept-url pattern="/**"
access="IS_AUTHENTICATED_FULLY"/>
<custom-filter ref="resourceServerFilter"
before="PRE_AUTH_FILTER" />
<access-denied-handler ref="oauthAccessDeniedHandler" />
HOwever,在升级到Spring SEcurity 4之后,我收到了这个错误......
Caused by: java.lang.IllegalArgumentException: Unsupported configuration attributes: [IS_AUTHENTICATED_FULLY]
指示用户必须完全通过身份验证才能访问我的资源的正确方法是什么?
答案 0 :(得分:1)
问题是在Spring Security 4.x中,XML配置默认使用表达式,而IS_AUTHENTICATED_FULLY不是表达式语法。使用禁用表达式
use-expressions="false"
代码中的<http>
或fullyAuthenticated
替换IS_AUTHENTICATED_FULLY。