[jboss-cvs] JBossAS SVN: r92437 - projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/security.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Aug 17 13:57:44 EDT 2009


Author: pete.muir at jboss.org
Date: 2009-08-17 13:57:44 -0400 (Mon, 17 Aug 2009)
New Revision: 92437

Modified:
   projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/security/JBossSecurityServices.java
Log:
Initial impl for Principal for JBoss AS, add loging to test (not sure if this right)

Modified: projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/security/JBossSecurityServices.java
===================================================================
--- projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/security/JBossSecurityServices.java	2009-08-17 16:56:59 UTC (rev 92436)
+++ projects/webbeans-ri-int/trunk/ejb/src/main/java/org/jboss/webbeans/integration/security/JBossSecurityServices.java	2009-08-17 17:57:44 UTC (rev 92437)
@@ -18,6 +18,10 @@
 
 import java.security.Principal;
 
+import javax.security.auth.Subject;
+import javax.security.jacc.PolicyContext;
+import javax.security.jacc.PolicyContextException;
+
 import org.jboss.webbeans.security.spi.SecurityServices;
 
 /**
@@ -26,10 +30,20 @@
  */
 public class JBossSecurityServices implements SecurityServices
 {
-
+   
+   private static final String SUBJECT_CONTEXT_KEY = "javax.security.auth.Subject.container";
+   
    public Principal getPrincipal()
    {
-      throw new UnsupportedOperationException();
+      try
+      {
+         Subject caller = (Subject) PolicyContext.getContext(SUBJECT_CONTEXT_KEY);
+         return caller.getPrincipals().iterator().next();
+      }
+      catch (PolicyContextException e)
+      {
+         throw new IllegalStateException(e);
+      }
    }
 
 }




More information about the jboss-cvs-commits mailing list