diff options
| -rw-r--r-- | qpid/java/broker/src/main/java/org/apache/qpid/server/security/auth/AuthenticationResult.java | 16 |
1 files changed, 13 insertions, 3 deletions
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<Principal> _principals = new HashSet<Principal>(); + 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; + } } |
