2011-10-12 104 views

回答

7

下面是我用什麼:

public class CustomUserDetails implements UserDetails { 
    private User user; 

    public CustomUserDetails(final User _user) { 
      this.user = _user; 
    } 

    public CustomUserDetails() { 
    } 

    @Override 
    public Collection<GrantedAuthority> getAuthorities() { 
      final Set<GrantedAuthority> _grntdAuths = new HashSet<GrantedAuthority>(); 

    List<UserRole> _roles = null; 

    if (user!=null) { 
      _roles = user.getRoles(); 
    } 

    if (_roles!=null) { 
      for (UserRole _role : _roles) { 
        _grntdAuths.add(new GrantedAuthorityImpl(_role.getRole())); 
      } 
    } 

    return _grntdAuths; 
    } 

    @Override 
    public String getPassword() { 
      return user.getPassword(); 
    } 
@Override 
    public String getUsername() { 
      if (this.user == null) { 
        return null; 
      } 
      return this.user.getUser_name(); 
    } 

    @Override 
    public boolean isAccountNonExpired() { 
      return this.user.isAccountNonExpired(); 
    } 

    @Override 
    public boolean isAccountNonLocked() { 
      return this.user.isAccountNonLocked(); 
    } 

    @Override 
    public boolean isCredentialsNonExpired() { 
      return this.user.isCredentialsNonExpired(); 
    } 

    @Override 
    public boolean isEnabled() { 
      return this.user.isEnabled(); 
    } 

    public User getUser() { 
      return user; 
    } 

    @Override 
    public String toString() { 
      return "CustomUserDetails [user=" + user + "]"; 
    } 
} 
+0

順便說一句,用戶是我的用戶實體 – gouki

+0

爲什麼它是短暫的普通豆? –

+0

nah。實際上並不重要。我編輯帖子將其刪除。 – gouki