/** * Copyright (c) 2000-present Liferay, Inc. All rights reserved. * * This library is free software; you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by the Free * Software Foundation; either version 2.1 of the License, or (at your option) * any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more * details. */ package com.liferay.portal.kernel.exception; import com.liferay.portal.kernel.model.PasswordPolicy; import com.liferay.portal.kernel.model.User; /** * @author Scott Lee */ public class UserLockoutException extends PortalException { /** * @deprecated As of 7.0.0, replaced by the inner classes */ @Deprecated public UserLockoutException() { } /** * @deprecated As of 7.0.0, replaced by the inner classes */ @Deprecated public UserLockoutException(String msg) { super(msg); } /** * @deprecated As of 7.0.0, replaced by the inner classes */ @Deprecated public UserLockoutException(String msg, Throwable cause) { super(msg, cause); } /** * @deprecated As of 7.0.0, replaced by the inner classes */ @Deprecated public UserLockoutException(Throwable cause) { super(cause); } public static class LDAPLockout extends UserLockoutException { public LDAPLockout(String fullUserDN, String ldapMessage) { super( String.format( "User %s is locked out of a required LDAP server: %s", fullUserDN, ldapMessage)); this.fullUserDN = fullUserDN; this.ldapMessage = ldapMessage; } public final String fullUserDN; public final String ldapMessage; } public static class PasswordPolicyLockout extends UserLockoutException { public PasswordPolicyLockout(User user, PasswordPolicy passwordPolicy) { super( String.format( "User %s was locked on %s by password policy %s and will " + "be automatically unlocked on %s", user.getUserId(), user.getLockoutDate(), passwordPolicy.getName(), user.getUnlockDate(passwordPolicy))); this.user = user; this.passwordPolicy = passwordPolicy; } public final PasswordPolicy passwordPolicy; public final User user; } }