]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/activemq/ActiveMqSpringSecurityContext.java
Add ActiveMQ security support
[lgpl/argeo-commons.git] / security / runtime / org.argeo.security.core / src / main / java / org / argeo / security / activemq / ActiveMqSpringSecurityContext.java
diff --git a/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/activemq/ActiveMqSpringSecurityContext.java b/security/runtime/org.argeo.security.core/src/main/java/org/argeo/security/activemq/ActiveMqSpringSecurityContext.java
new file mode 100644 (file)
index 0000000..1c7db3f
--- /dev/null
@@ -0,0 +1,31 @@
+package org.argeo.security.activemq;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.springframework.security.GrantedAuthority;
+import org.springframework.security.context.SecurityContext;
+
+public class ActiveMqSpringSecurityContext extends
+               org.apache.activemq.security.SecurityContext {
+
+       private final SecurityContext springSecurityContext;
+
+       public ActiveMqSpringSecurityContext(SecurityContext springSecurityContext) {
+               super(springSecurityContext.getAuthentication().getName());
+               this.springSecurityContext = springSecurityContext;
+       }
+
+       @Override
+       public Set<?> getPrincipals() {
+               return new HashSet<GrantedAuthority>(Arrays
+                               .asList(springSecurityContext.getAuthentication()
+                                               .getAuthorities()));
+       }
+
+       public SecurityContext getSpringSecurityContext() {
+               return springSecurityContext;
+       }
+
+}