Interface UserDetails

All Superinterfaces:
Serializable
All Known Subinterfaces:
LdapUserDetails
All Known Implementing Classes:
InetOrgPerson, LdapUserDetailsImpl, Person, User

public interface UserDetails extends Serializable
Provides core user information.

Implementations are not used directly by Spring Security for security purposes. They simply store user information which is later encapsulated into Authentication objects. This allows non-security related user information (such as email addresses, telephone numbers etc) to be stored in a convenient location.

Concrete implementations must take particular care to ensure the non-null contract detailed for each method is enforced. See User for a reference implementation (which you might like to extend or use in your code).

See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the authorities granted to the user.
    Returns the password used to authenticate the user.
    Returns the username used to authenticate the user.
    default boolean
    Indicates whether the user's account has expired.
    default boolean
    Indicates whether the user is locked or unlocked.
    default boolean
    Indicates whether the user's credentials (password) has expired.
    default boolean
    Indicates whether the user is enabled or disabled.
  • Method Details

    • getAuthorities

      Collection<? extends GrantedAuthority> getAuthorities()
      Returns the authorities granted to the user. Cannot return null.
      Returns:
      the authorities, sorted by natural key (never null)
    • getPassword

      String getPassword()
      Returns the password used to authenticate the user.
      Returns:
      the password
    • getUsername

      String getUsername()
      Returns the username used to authenticate the user. Cannot return null.
      Returns:
      the username (never null)
    • isAccountNonExpired

      default boolean isAccountNonExpired()
      Indicates whether the user's account has expired. An expired account cannot be authenticated.
      Returns:
      true if the user's account is valid (ie non-expired), false if no longer valid (ie expired)
    • isAccountNonLocked

      default boolean isAccountNonLocked()
      Indicates whether the user is locked or unlocked. A locked user cannot be authenticated.
      Returns:
      true if the user is not locked, false otherwise
    • isCredentialsNonExpired

      default boolean isCredentialsNonExpired()
      Indicates whether the user's credentials (password) has expired. Expired credentials prevent authentication.
      Returns:
      true if the user's credentials are valid (ie non-expired), false if no longer valid (ie expired)
    • isEnabled

      default boolean isEnabled()
      Indicates whether the user is enabled or disabled. A disabled user cannot be authenticated.
      Returns:
      true if the user is enabled, false otherwise