在Spring中,当创建具有自定义属性的新用户时,最好的做法是:扩展org.springframework.security.core.userdetails.user或在userdetails服务中创建用户(这是在ICEFEAS教程中采用的方法)。
public UserDetails loadUserByUsername(String username)
throws UsernameNotFoundException, DataAccessException {
AppUser user = userDAO.findUser(username);
if (user == null)
throw new UsernameNotFoundException("User not found: " + username);
else {
return makeUser(user);
}
}
private User makeUser(AppUser user) {
return new User(user.getLogin(), user
.getPassword(), true, true, true, true,
makeGrantedAuthorities(user));
}