| | |
| | | authzDN = actualAuthzDN; |
| | | } |
| | | |
| | | if (! authzDN.equals(userEntry.getDN())) |
| | | if (! authzDN.equals(userEntry.getName())) |
| | | { |
| | | AuthenticationInfo tempAuthInfo = |
| | | new AuthenticationInfo(userEntry, |
| | | DirectoryServer.isRootDN(userEntry.getDN())); |
| | | DirectoryServer.isRootDN(userEntry.getName())); |
| | | InternalClientConnection tempConn = |
| | | new InternalClientConnection(tempAuthInfo); |
| | | if (! tempConn.hasPrivilege(Privilege.PROXIED_AUTH, bindOperation)) |
| | |
| | | bindOperation.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | |
| | | Message message = ERR_SASLPLAIN_AUTHZID_INSUFFICIENT_PRIVILEGES.get( |
| | | String.valueOf(userEntry.getDN())); |
| | | String.valueOf(userEntry.getName())); |
| | | bindOperation.setAuthFailureReason(message); |
| | | return; |
| | | } |
| | |
| | | } |
| | | |
| | | if ((authZEntry == null) || |
| | | (! authZEntry.getDN().equals(userEntry.getDN()))) |
| | | (! authZEntry.getName().equals(userEntry.getName()))) |
| | | { |
| | | AuthenticationInfo tempAuthInfo = |
| | | new AuthenticationInfo(userEntry, |
| | | DirectoryServer.isRootDN(userEntry.getDN())); |
| | | DirectoryServer.isRootDN(userEntry.getName())); |
| | | InternalClientConnection tempConn = |
| | | new InternalClientConnection(tempAuthInfo); |
| | | if (! tempConn.hasPrivilege(Privilege.PROXIED_AUTH, bindOperation)) |
| | |
| | | bindOperation.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | |
| | | Message message = ERR_SASLPLAIN_AUTHZID_INSUFFICIENT_PRIVILEGES.get( |
| | | String.valueOf(userEntry.getDN())); |
| | | String.valueOf(userEntry.getName())); |
| | | bindOperation.setAuthFailureReason(message); |
| | | return; |
| | | } |
| | |
| | | bindOperation.setResultCode(ResultCode.INVALID_CREDENTIALS); |
| | | |
| | | Message message = ERR_SASLPLAIN_CANNOT_CHECK_PASSWORD_VALIDITY.get( |
| | | String.valueOf(userEntry.getDN()), |
| | | String.valueOf(userEntry.getName()), |
| | | String.valueOf(e)); |
| | | bindOperation.setAuthFailureReason(message); |
| | | return; |
| | |
| | | AuthenticationInfo authInfo = |
| | | new AuthenticationInfo(userEntry, authZEntry, SASL_MECHANISM_PLAIN, |
| | | bindOperation.getSASLCredentials(), |
| | | DirectoryServer.isRootDN(userEntry.getDN())); |
| | | DirectoryServer.isRootDN(userEntry.getName())); |
| | | bindOperation.setAuthenticationInfo(authInfo); |
| | | return; |
| | | } |