代码之家  ›  专栏  ›  技术社区  ›  DD.

Spring安全用户

  •  1
  • DD.  · 技术社区  · 14 年前

    在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));
    }
    
    1 回复  |  直到 14 年前
        1
  •  1
  •   Gandalf    14 年前

    如果您的用户权限适合Spring安全用户类的上下文,那么只需编写自己的 UserDetails 服务还可以。但是,如果您的用户有其他未封装在默认可用字段中的属性 User 然后你需要同时做这两件事。没有真正的“最佳实践”—两者都是很好的选项,这取决于您的用例。