[jboss-cvs] JBossAS SVN: r80276 - projects/security/security-jboss-sx/trunk/jbosssx/src/main/java/org/jboss/security/plugins/javaee.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Oct 30 14:42:50 EDT 2008


Author: anil.saldhana at jboss.com
Date: 2008-10-30 14:42:49 -0400 (Thu, 30 Oct 2008)
New Revision: 80276

Modified:
   projects/security/security-jboss-sx/trunk/jbosssx/src/main/java/org/jboss/security/plugins/javaee/EJBAuthorizationHelper.java
Log:
SECURITY-299: ejb version

Modified: projects/security/security-jboss-sx/trunk/jbosssx/src/main/java/org/jboss/security/plugins/javaee/EJBAuthorizationHelper.java
===================================================================
--- projects/security/security-jboss-sx/trunk/jbosssx/src/main/java/org/jboss/security/plugins/javaee/EJBAuthorizationHelper.java	2008-10-30 18:38:11 UTC (rev 80275)
+++ projects/security/security-jboss-sx/trunk/jbosssx/src/main/java/org/jboss/security/plugins/javaee/EJBAuthorizationHelper.java	2008-10-30 18:42:49 UTC (rev 80276)
@@ -85,6 +85,7 @@
       map.put(ResourceKeys.POLICY_REGISTRATION, this.policyRegistration); 
      
       EJBResource ejbResource = new EJBResource(map);
+      ejbResource.setEjbVersion(version);
       ejbResource.setPolicyContextID(contextID);
       ejbResource.setCallerRunAsIdentity(callerRunAs);
       ejbResource.setEjbName(ejbName);
@@ -127,6 +128,14 @@
          String contextID,
          Set<SecurityRoleRef> securityRoleRefs)
    {
+      return this.isCallerInRole(roleName, ejbName, ejbPrincipal, 
+            callerSubject, contextID, securityRoleRefs, false); 
+   }
+
+   @Override
+   public boolean isCallerInRole(String roleName, String ejbName, Principal ejbPrincipal, Subject callerSubject,
+         String contextID, Set<SecurityRoleRef> securityRoleRefs, boolean enforceEJBRestrictions)
+   { 
       if(contextID == null)
          throw new IllegalArgumentException("ContextID is null"); 
 
@@ -158,10 +167,12 @@
       
       RunAs callerRunAs = securityContext.getIncomingRunAs();
       
+      ejbResource.setEjbVersion(version);
       ejbResource.setEjbName(ejbName);
       ejbResource.setPrincipal(ejbPrincipal);
       ejbResource.setCallerRunAsIdentity(callerRunAs);
       ejbResource.setSecurityRoleReferences(securityRoleRefs); 
+      ejbResource.setEnforceEJBRestrictions(enforceEJBRestrictions);
       
       ejbResource.setCallerSubject(callerSubject);
       SecurityContextCallbackHandler sch = new SecurityContextCallbackHandler(this.securityContext); 
@@ -181,7 +192,30 @@
       } 
       return isAuthorized; 
    }
+
+   @Override
+   public String getEJBVersion()
+   {
+      return this.version;
+   }
    
+   @Override
+   public void setEJBVersion(String ejbVersion)
+   {
+      /**
+       * Validate the argument
+       */ 
+      if(EJBResource.EJB_VERSION_1_1.equalsIgnoreCase(ejbVersion) ||
+            EJBResource.EJB_VERSION_2_0.equalsIgnoreCase(ejbVersion) ||
+            EJBResource.EJB_VERSION_3_0.equalsIgnoreCase(ejbVersion))
+      {
+          this.version = ejbVersion;  
+      }
+      else
+         throw new IllegalArgumentException("Invalid ejbVersion:" + ejbVersion);
+   }
+   
+   
    private PolicyRegistration getPolicyRegistrationFromJNDI() throws Exception
    {
       return (PolicyRegistration) (new InitialContext()).lookup("java:/policyRegistration");




More information about the jboss-cvs-commits mailing list