diff options
author | Robert Godfrey <rgodfrey@apache.org> | 2014-03-12 17:23:22 +0000 |
---|---|---|
committer | Robert Godfrey <rgodfrey@apache.org> | 2014-03-12 17:23:22 +0000 |
commit | 80037617aeadef0a693a51b5ee784f299fb9008c (patch) | |
tree | 59c7cf31134c09f2e39f0e03b8cb46b7003d7f18 /qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/SecurityManager.java | |
parent | 64eb3a8c90b2367b334a33217204714deb95fef0 (diff) | |
download | qpid-python-80037617aeadef0a693a51b5ee784f299fb9008c.tar.gz |
QPID-5625 : [Java Broker] ensure common configured object values are saved to the store
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1576826 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/SecurityManager.java')
-rwxr-xr-x | qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/SecurityManager.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/SecurityManager.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/SecurityManager.java index dca3576827..77886e9030 100755 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/SecurityManager.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/SecurityManager.java @@ -34,6 +34,7 @@ import org.apache.qpid.server.security.access.ObjectProperties; import org.apache.qpid.server.security.access.ObjectType; import org.apache.qpid.server.security.access.Operation; import org.apache.qpid.server.security.access.OperationLoggingDetails; +import org.apache.qpid.server.security.auth.AuthenticatedPrincipal; import org.apache.qpid.server.security.auth.TaskPrincipal; import javax.security.auth.Subject; @@ -64,6 +65,7 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; +import java.util.Set; import java.util.concurrent.ConcurrentHashMap; public class SecurityManager implements ConfigurationChangeListener @@ -183,6 +185,29 @@ public class SecurityManager implements ConfigurationChangeListener return !(subject == null || subject.getPrincipals(SystemPrincipal.class).isEmpty()); } + public static AuthenticatedPrincipal getCurrentUser() + { + Subject subject = Subject.getSubject(AccessController.getContext()); + final AuthenticatedPrincipal user; + if(subject != null) + { + Set<AuthenticatedPrincipal> principals = subject.getPrincipals(AuthenticatedPrincipal.class); + if(principals != null && !principals.isEmpty()) + { + user = principals.iterator().next(); + } + else + { + user = null; + } + } + else + { + user = null; + } + return user; + } + private static final class SystemPrincipal implements Principal { private SystemPrincipal() |