で作成したユーザーのための@WithUserDetailsは、春のセキュリティユーザとして認証するための2つの方法があります@WithMockUser
は、提供された資格情報を持つダミーのユーザーを作成し、@WithUserDetails
は、ユーザーの名前を取りますカスタムUserDetailsService
(UserDetailsServiceImpl
)の正しいカスタムUserDetails
の実装に解決します。春のセキュリティ、JUnitの:春MockMVCとJUnitテストでは@Before
私の場合、UserDetailsService
はデータベースからユーザーを読み込みます。使用したいユーザーは、テストスイートの@Before
メソッドに挿入されました。
ただし、私のUserDetailsServiceImpl
はユーザーを見つけられません。私@Before
で
は、私はこのようなユーザーを挿入します。
User u = new User();
u.setEMail("[email protected]");
u = userRepository.save(u);
そして中
UserDetailsServiceImpl
:
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
User user = this.userRepository.findOneByEMail(username);
if (user == null)
throw new UsernameNotFoundException(String.format("No user found with username '%s'.", username));
return user;
}
どのように私は@WithUserDetails
と@Before
で作成したアカウントを使用できますか?