ユーザーを認証することができ、ログインしたユーザー名をページに表示することができました。しかし、ユーザー名の代わりに、ユーザーの名前を使用したいと思います。
このためのアセンブラ:
@Service("assembler")
public class Assembler {
@Transactional(readOnly = true)
public UserDetails buildUserFromUser(UserEntity userEntity) {
String username = userEntity.getUsername();
String password = userEntity.getPassword();
//String name = userEntity.getName();
boolean enabled = userEntity.getActive();
boolean accountNonExpired = enabled;
boolean credentialsNonExpired = enabled;
boolean accountNonLocked = enabled;
Collection<GrantedAuthority> authorities = new ArrayList<GrantedAuthority>();
for(Role role : userEntity.getRoles()) {
authorities.add(new SimpleGrantedAuthority(role.getName()));
}
User user = new
User(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities);
return user;
}
}
私が使用している UserDetails は set コンストラクターに制限されているため、名前を取得できません。これを行う別の方法はありますか?