From 6be80b8e052d8fcba568c33583f0555843f588e2 Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Mon, 27 Aug 2012 15:56:23 +0000 Subject: QPID-4237: added convenience method to AuthenticatedResult to facilitate implementation of third party authentication managers. Applied patch from Philip Harvey git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1377723 13f79535-47bb-0310-9956-ffa450edef68 --- .../qpid/server/security/auth/AuthenticationResult.java | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'qpid/java') diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/AuthenticationResult.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/AuthenticationResult.java index a49dd6793f..09bf6cf3b1 100644 --- a/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/AuthenticationResult.java +++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/AuthenticationResult.java @@ -64,6 +64,7 @@ public class AuthenticationResult private final byte[] _challenge; private final Exception _cause; private final Set _principals = new HashSet(); + private final Principal _mainPrincipal; public AuthenticationResult(final AuthenticationStatus status) { @@ -81,6 +82,7 @@ public class AuthenticationResult _principals.addAll(otherPrincipals); _principals.remove(mainPrincipal); _principals.add(specialQpidAuthenticatedPrincipal); + _mainPrincipal = mainPrincipal; _status = AuthenticationStatus.SUCCESS; _challenge = null; @@ -92,6 +94,7 @@ public class AuthenticationResult _challenge = challenge; _status = status; _cause = null; + _mainPrincipal = null; } public AuthenticationResult(final AuthenticationStatus error, final Exception cause) @@ -99,6 +102,7 @@ public class AuthenticationResult _status = error; _challenge = null; _cause = cause; + _mainPrincipal = null; } public AuthenticationResult(final byte[] challenge, final AuthenticationStatus status, final Exception cause) @@ -108,9 +112,10 @@ public class AuthenticationResult throw new IllegalArgumentException("Successful authentication requires at least one principal"); } - this._status = status; - this._challenge = challenge; - this._cause = cause; + _status = status; + _challenge = challenge; + _cause = cause; + _mainPrincipal = null; } public Exception getCause() @@ -132,4 +137,9 @@ public class AuthenticationResult { return _principals; } + + public Principal getMainPrincipal() + { + return _mainPrincipal; + } } -- cgit v1.2.1