| | |
| | | import java.io.IOException; |
| | | import java.util.concurrent.locks.Lock; |
| | | |
| | | import org.opends.messages.Message; |
| | | import org.forgerock.i18n.LocalizableMessage; |
| | | import org.opends.server.api.AuthenticationPolicyState; |
| | | import org.opends.server.api.IdentityMapper; |
| | | import org.opends.server.core.DirectoryServer; |
| | |
| | | { |
| | | if (!isCritical) |
| | | { |
| | | Message message = ERR_PROXYAUTH2_CONTROL_NOT_CRITICAL.get(); |
| | | LocalizableMessage message = ERR_PROXYAUTH2_CONTROL_NOT_CRITICAL.get(); |
| | | throw new DirectoryException(ResultCode.PROTOCOL_ERROR, message); |
| | | } |
| | | |
| | | if (value == null) |
| | | { |
| | | Message message = ERR_PROXYAUTH2_NO_CONTROL_VALUE.get(); |
| | | LocalizableMessage message = ERR_PROXYAUTH2_NO_CONTROL_VALUE.get(); |
| | | throw new DirectoryException(ResultCode.PROTOCOL_ERROR, message); |
| | | } |
| | | |
| | |
| | | TRACER.debugCaught(DebugLogLevel.ERROR, e); |
| | | } |
| | | |
| | | Message message = |
| | | LocalizableMessage message = |
| | | ERR_PROXYAUTH2_INVALID_AUTHZID.get(lowerAuthZIDStr); |
| | | throw new DirectoryException(ResultCode.PROTOCOL_ERROR, message, |
| | | e); |
| | |
| | | if (userEntry == null) |
| | | { |
| | | // The requested user does not exist. |
| | | Message message = ERR_PROXYAUTH2_NO_SUCH_USER.get(lowerAuthzID); |
| | | LocalizableMessage message = ERR_PROXYAUTH2_NO_SUCH_USER.get(lowerAuthzID); |
| | | throw new DirectoryException(ResultCode.AUTHORIZATION_DENIED, |
| | | message); |
| | | } |
| | |
| | | DirectoryServer.getProxiedAuthorizationIdentityMapper(); |
| | | if (proxyMapper == null) |
| | | { |
| | | Message message = ERR_PROXYAUTH2_NO_IDENTITY_MAPPER.get(); |
| | | LocalizableMessage message = ERR_PROXYAUTH2_NO_IDENTITY_MAPPER.get(); |
| | | throw new DirectoryException(ResultCode.AUTHORIZATION_DENIED, message); |
| | | } |
| | | |
| | | Entry userEntry = proxyMapper.getEntryForID(lowerAuthzID.substring(2)); |
| | | if (userEntry == null) |
| | | { |
| | | Message message = ERR_PROXYAUTH2_NO_SUCH_USER.get(lowerAuthzID); |
| | | LocalizableMessage message = ERR_PROXYAUTH2_NO_SUCH_USER.get(lowerAuthzID); |
| | | throw new DirectoryException(ResultCode.AUTHORIZATION_DENIED, message); |
| | | } |
| | | else |
| | |
| | | } |
| | | else |
| | | { |
| | | Message message = ERR_PROXYAUTH2_INVALID_AUTHZID.get(lowerAuthzID); |
| | | LocalizableMessage message = ERR_PROXYAUTH2_INVALID_AUTHZID.get(lowerAuthzID); |
| | | throw new DirectoryException(ResultCode.PROTOCOL_ERROR, message); |
| | | } |
| | | } |
| | |
| | | |
| | | if (state.isDisabled()) |
| | | { |
| | | Message message = ERR_PROXYAUTH2_UNUSABLE_ACCOUNT.get(String |
| | | LocalizableMessage message = ERR_PROXYAUTH2_UNUSABLE_ACCOUNT.get(String |
| | | .valueOf(userEntry.getName())); |
| | | throw new DirectoryException(ResultCode.AUTHORIZATION_DENIED, message); |
| | | } |
| | |
| | | pwpState.lockedDueToMaximumResetAge() || |
| | | pwpState.isPasswordExpired()) |
| | | { |
| | | Message message = ERR_PROXYAUTH2_UNUSABLE_ACCOUNT.get(String |
| | | LocalizableMessage message = ERR_PROXYAUTH2_UNUSABLE_ACCOUNT.get(String |
| | | .valueOf(userEntry.getName())); |
| | | throw new DirectoryException(ResultCode.AUTHORIZATION_DENIED, |
| | | message); |