[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