3.0.7 スプリング セキュリティから 3.1.2 に移行しましたが、in-memory-config を使用するテストの 1 つが不正な資格情報で失敗します。
特別なことは何もしません。ユーザーの 1 人をプレーン テキストのユーザー名とパスワードで認証するだけです。認証されたら、権限を入力します。
コード:
public Authentication authenticate(UserDetails userDetails)
throws AuthenticationException {
try {
org.springframework.security.core.Authentication authenticate = authenticationManager.authenticate(createAuthenticationRequest(userDetails));
if (!authenticate.isAuthenticated()) {
throw new AuthenticationException("Authentication failed for user ["+userDetails.getUsername()+"]");
}
Collection<? extends GrantedAuthority> grantedAuthorities = authenticate.getAuthorities();
...
} catch(Exception exception) {
throw new AuthenticationException(exception);
}
コード:
<bean id="daoAuthenticationProvider"
class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
<property name="userDetailsService" ref="daoUserDetailsService" />
</bean>
<bean id="daoUserDetailsService" class="org.springframework.security.core.userdetails.memory.InMemoryDaoImpl">
<property name="userMap">
<value>
Edward = koala, READ_ONLY
</value>
</property>
</bean>
認証の呼び出しで次の例外が発生します。
Caused by: org.springframework.security.authentication.BadCre dentialsException: Bad credentials
at org.springframework.security.authentication.dao.Da oAuthenticationProvider.additionalAuthenticationCh ecks(DaoAuthenticationProvider.java:67)
at org.springframework.security.authentication.dao.Ab stractUserDetailsAuthenticationProvider.authentica te(AbstractUserDetailsAuthenticationProvider.java: 149)
at org.springframework.security.authentication.Provid erManager.authenticate(ProviderManager.java:156)
at org.openspaces.security.spring.SpringSecurityManag er.authenticate(SpringSecurityManager.java:117)
... 11 more
それを回避する方法、またはこの問題が保留中のパッチがあるかどうかについてのアイデアはありますか?