2010-05-15 159 views
1

什麼是Spring中創建具有自定義屬性的新用戶的最佳實踐...以擴展org.springframework.security.core.userdetails.User或在UserDetailsS​​ervice中創建User(這是採取的方法在IceFaces教程中)。Spring Security用戶

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)); 
} 

回答

1

如果您的用戶權限融入Spring Security的用戶類,那麼只需編寫自己UserDetails服務環境是好的。但是,如果您的用戶有其他屬性沒有封裝在默認User類的可用字段中,那麼您將需要執行這兩個操作。沒有真正的「最佳實踐」 - 兩者都是很好的選擇,它取決於你的用例。