Spring security Spring安全用户

Spring security Spring安全用户,spring-security,Spring Security,在Spring中创建具有自定义属性的新用户时,最好的做法是什么…扩展org.springframework.security.core.userdetails.user或在userdetails服务中创建用户(这是IceFaces教程中采用的方法) 如果您的用户权限适合Spring Security用户类的上下文,那么只需编写您自己的UserDetails服务即可。但是,如果您的用户有其他属性没有封装在默认User类的可用字段中,那么您需要同时执行这两个操作。没有真正的“最佳实践”-两者都是很好

在Spring中创建具有自定义属性的新用户时,最好的做法是什么…扩展org.springframework.security.core.userdetails.user或在userdetails服务中创建用户(这是IceFaces教程中采用的方法)


如果您的用户权限适合Spring Security用户类的上下文,那么只需编写您自己的
UserDetails
服务即可。但是,如果您的用户有其他属性没有封装在默认
User
类的可用字段中,那么您需要同时执行这两个操作。没有真正的“最佳实践”-两者都是很好的选项,这取决于您的用例。

如果您的用户权限适合Spring Security用户类的上下文,那么只需编写您自己的
UserDetails
服务就可以了。但是,如果您的用户有其他属性没有封装在默认
User
类的可用字段中,那么您需要同时执行这两个操作。没有真正的“最佳实践”-这两个都是很好的选择-这取决于您的用例

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