Interface PasswordPolicyManager

All Known Implementing Classes:
PasswordPolicyManagerImpl

public interface PasswordPolicyManager
Checks user password policies.
Since:
v6.1
  • Method Details

    • checkPolicy

      @Nonnull Collection<WebErrorMessage> checkPolicy(@Nonnull ApplicationUser user, @Nullable String oldPassword, @Nonnull String newPassword)
      Checks the password policies against a proposed password change for an existing user.
      Parameters:
      user - the user whose password would be changed; must not be null
      oldPassword - the user's current password, if known; may be null, in which case any checks that would be made against it will be skipped
      newPassword - the proposed new password
      Returns:
      list containing all plugin provided WebErrorMessage; never null
    • checkPolicy

      @Nonnull Collection<WebErrorMessage> checkPolicy(@Nonnull String username, @Nullable String displayName, @Nullable String emailAddress, @Nonnull String password)
      Checks the password policies for a proposed new user.
      Parameters:
      username - the username that the new user would have; must not be null
      displayName - the display name that the new user would have; may be null
      emailAddress - the email address that the new user would have; may be null
      password - the proposed new password; must not be null
      Returns:
      list containing all plugin provided WebErrorMessage; never null
    • getPolicyDescription

      @Nonnull List<String> getPolicyDescription(boolean hasOldPassword)
      Returns a list of rules that passwords must follow to satisfy all password policies.
      Parameters:
      hasOldPassword - whether or not the request concerns the rules when the old password is provided. This is true for the case where an existing user is changing his/her own password, but not when an administrator is changing another user's password or a new account is getting created. The rule list should probably be different for these cases. For example, it does not make sense to tell an administrator that the new password can not be similar to the old password when the administrator does not even know what the old password was. Nor does it make sense to say this to a new user, for whom the whole idea is completely irrelevant.
      Returns:
      a list of rules that passwords must follow to satisfy all policies.