UserDetailsServiceを実装するカスタム ユーザー詳細サービスを定義します。クラスUserのインスタンスにユーザー資格情報を入力します。フィールドを使用するenabled
かaccountNonLocked
、禁止されたユーザーに使用できます。
@Service("userDetailsService")
public class MyUserDetailsService implements UserDetailsService {
@Transactional(readOnly = true)
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
// load user data from repository
String password = ...
boolean enabled = ...
// ...
UserDetails user = new User(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities);
return user;
}
}
次に、サービスを の認証マネージャーに接続しますspring-security.xml
。
<security:authentication-manager>
<security:authentication-provider user-service-ref="userDetailsService">
...
<security:authentication-manager>