Class LdapUserDetailsImpl

java.lang.Object
org.springframework.security.ldap.userdetails.LdapUserDetailsImpl
All Implemented Interfaces:
Serializable, CredentialsContainer, UserDetails, PasswordPolicyData, LdapUserDetails
Direct Known Subclasses:
Person

public class LdapUserDetailsImpl extends Object implements LdapUserDetails, PasswordPolicyData
A UserDetails implementation which is used internally by the Ldap services. It also contains the user's distinguished name and a set of attributes that have been retrieved from the Ldap server.

An instance may be created as the result of a search, or when user information is retrieved during authentication.

An instance of this class will be used by the LdapAuthenticationProvider to construct the final user details object that it returns.

The equals and hashcode methods are implemented using the Dn property and do not consider additional state, so it is not possible two store two instances with the same DN in the same set, or use them as keys in a map.

See Also:
  • Constructor Details

    • LdapUserDetailsImpl

      protected LdapUserDetailsImpl()
  • Method Details

    • getAuthorities

      public Collection<GrantedAuthority> getAuthorities()
      Description copied from interface: UserDetails
      Returns the authorities granted to the user. Cannot return null.
      Specified by:
      getAuthorities in interface UserDetails
      Returns:
      the authorities, sorted by natural key (never null)
    • getDn

      public String getDn()
      Description copied from interface: LdapUserDetails
      The DN of the entry for this user's account.
      Specified by:
      getDn in interface LdapUserDetails
      Returns:
      the user's DN
    • getPassword

      public String getPassword()
      Description copied from interface: UserDetails
      Returns the password used to authenticate the user.
      Specified by:
      getPassword in interface UserDetails
      Returns:
      the password
    • getUsername

      public String getUsername()
      Description copied from interface: UserDetails
      Returns the username used to authenticate the user. Cannot return null.
      Specified by:
      getUsername in interface UserDetails
      Returns:
      the username (never null)
    • isAccountNonExpired

      public boolean isAccountNonExpired()
      Description copied from interface: UserDetails
      Indicates whether the user's account has expired. An expired account cannot be authenticated.
      Specified by:
      isAccountNonExpired in interface UserDetails
      Returns:
      true if the user's account is valid (ie non-expired), false if no longer valid (ie expired)
    • isAccountNonLocked

      public boolean isAccountNonLocked()
      Description copied from interface: UserDetails
      Indicates whether the user is locked or unlocked. A locked user cannot be authenticated.
      Specified by:
      isAccountNonLocked in interface UserDetails
      Returns:
      true if the user is not locked, false otherwise
    • isCredentialsNonExpired

      public boolean isCredentialsNonExpired()
      Description copied from interface: UserDetails
      Indicates whether the user's credentials (password) has expired. Expired credentials prevent authentication.
      Specified by:
      isCredentialsNonExpired in interface UserDetails
      Returns:
      true if the user's credentials are valid (ie non-expired), false if no longer valid (ie expired)
    • isEnabled

      public boolean isEnabled()
      Description copied from interface: UserDetails
      Indicates whether the user is enabled or disabled. A disabled user cannot be authenticated.
      Specified by:
      isEnabled in interface UserDetails
      Returns:
      true if the user is enabled, false otherwise
    • eraseCredentials

      public void eraseCredentials()
      Specified by:
      eraseCredentials in interface CredentialsContainer
    • getTimeBeforeExpiration

      public int getTimeBeforeExpiration()
      Specified by:
      getTimeBeforeExpiration in interface PasswordPolicyData
    • getGraceLoginsRemaining

      public int getGraceLoginsRemaining()
      Specified by:
      getGraceLoginsRemaining in interface PasswordPolicyData
    • equals

      public boolean equals(Object obj)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object