[jboss-cvs] JBossAS SVN: r65273 - trunk/aspects/src/main/org/jboss/aspects/security.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Sep 10 05:35:49 EDT 2007


Author: kabir.khan at jboss.com
Date: 2007-09-10 05:35:49 -0400 (Mon, 10 Sep 2007)
New Revision: 65273

Modified:
   trunk/aspects/src/main/org/jboss/aspects/security/RunAsSecurityInterceptor.java
   trunk/aspects/src/main/org/jboss/aspects/security/SecurityClassMetaDataLoader.java
Log:
[JBAS-4547] Fix RunAsSecurityInterceptor

Modified: trunk/aspects/src/main/org/jboss/aspects/security/RunAsSecurityInterceptor.java
===================================================================
--- trunk/aspects/src/main/org/jboss/aspects/security/RunAsSecurityInterceptor.java	2007-09-10 09:26:17 UTC (rev 65272)
+++ trunk/aspects/src/main/org/jboss/aspects/security/RunAsSecurityInterceptor.java	2007-09-10 09:35:49 UTC (rev 65273)
@@ -59,6 +59,10 @@
    protected RunAsIdentity getAnnotationRunAsIdentity(Invocation invocation)
    {
       RunAs runAs = (RunAs) invocation.resolveAnnotation(RunAs.class);
+      if (runAs == null)
+      {
+         runAs = (RunAs)invocation.resolveClassAnnotation(RunAs.class);
+      }
       if (runAs == null) return null;
       RunAsIdentity runAsRole = new RunAsIdentity(runAs.value(), null);
       return runAsRole;
@@ -69,10 +73,10 @@
       // If a run-as role was specified, push it so that any calls made
       // by this bean will have the runAsRole available for declarative
       // security checks.
-      /*if(runAsRole != null)
-      {*/
+      if(runAsRole != null)
+      {
          SecurityActions.pushRunAsIdentity(runAsRole);
-      /*}*/
+      }
      
       try
       {
@@ -80,10 +84,10 @@
       }
       finally
       {
-        /* if(runAsRole != null)
-         {*/
+         if(runAsRole != null)
+         {
             SecurityActions.popRunAsIdentity();
-         /*}*/
+         }
       }
    }
 }

Modified: trunk/aspects/src/main/org/jboss/aspects/security/SecurityClassMetaDataLoader.java
===================================================================
--- trunk/aspects/src/main/org/jboss/aspects/security/SecurityClassMetaDataLoader.java	2007-09-10 09:26:17 UTC (rev 65272)
+++ trunk/aspects/src/main/org/jboss/aspects/security/SecurityClassMetaDataLoader.java	2007-09-10 09:35:49 UTC (rev 65273)
@@ -31,6 +31,7 @@
 import org.jboss.aop.util.XmlHelper;
 import org.jboss.security.AnybodyPrincipal;
 import org.jboss.security.NobodyPrincipal;
+import org.jboss.security.RunAsIdentity;
 import org.jboss.security.SimplePrincipal;
 import org.w3c.dom.Element;
 
@@ -124,7 +125,7 @@
 
       if (meta.getRunAs() != null)
       {
-         advisor.getDefaultMetaData().addMetaData("security", "run-as", new SimplePrincipal(meta.getRunAs()), PayloadKey.TRANSIENT);
+         advisor.getDefaultMetaData().addMetaData("security", "run-as", new RunAsIdentity(meta.getRunAs(), null), PayloadKey.TRANSIENT);
       }
    }
 




More information about the jboss-cvs-commits mailing list