UserDetails
Declared
package org.springframework.security.core.userdetails;
public interface UserDetails extends Serializable
Class JDOC
提供核心用户信息。
出于安全目的,Spring Security并不直接使用实现。它们只是存储用户信息,稍后将这些信息封装到Authentication对象中。这允许将与安全无关的用户信息(如电子邮件地址、电话号码等)存储在一个方便的位置。
具体的实现必须特别注意确保每个方法的非空约定得到实施。请参阅User以获得参考实现(您可能希望在代码中扩展或使用该实现)。
Class Code
public interface UserDetails extends Serializable {
// ~ Methods
// ========================================================================================================
/**
* Returns the authorities granted to the user. Cannot return <code>null</code>.
* 返回授权给用户的权限,不能返回null
* @return the authorities, sorted by natural key (never <code>null</code>)
* 按自然排序的权限,永不为null
*/
Collection<? extends GrantedAuthority> getAuthorities();
/**
* Returns the password used to authenticate the user.
* 返回用于身份认证的密码
* @return the password
*/
String getPassword();
/**
* Returns the username used to authenticate the user. Cannot return <code>null</code>.
* 返回用于身份认证的用户名,不能返回null
* @return the username (never <code>null</code>)
*/
String getUsername();
/**
* Indicates whether the user's account has expired. An expired account cannot be
* authenticated.
* 表示账户是否已过期,已过期认证不能通过认证。
* @return <code>true</code> if the user's account is valid (ie non-expired),
* <code>false</code> if no longer valid (ie expired)
*/
boolean isAccountNonExpired();
/**
* Indicates whether the user is locked or unlocked. A locked user cannot be
* authenticated.
* 表示账户是否被锁定,已锁定账户不能通过认证。
* @return <code>true</code> if the user is not locked, <code>false</code> otherwise
*/
boolean isAccountNonLocked();
/**
* Indicates whether the user's credentials (password) has expired. Expired
* credentials prevent authentication.
* 表示账户凭证(密码)是否已过期,已过期凭证会中止认证。
* @return <code>true</code> if the user's credentials are valid (ie non-expired),
* <code>false</code> if no longer valid (ie expired)
*/
boolean isCredentialsNonExpired();
/**
* Indicates whether the user is enabled or disabled. A disabled user cannot be
* authenticated.
* 表示账户是否可用,不可用的账户不能通过认证。
* @return <code>true</code> if the user is enabled, <code>false</code> otherwise
*/
boolean isEnabled();
}