[jboss-cvs] JBossAS SVN: r78222 - in trunk: webservices and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Sep 8 23:12:00 EDT 2008
Author: anil.saldhana at jboss.com
Date: 2008-09-08 23:11:59 -0400 (Mon, 08 Sep 2008)
New Revision: 78222
Modified:
trunk/server/src/main/org/jboss/deployment/security/AbstractSecurityDeployer.java
trunk/server/src/main/org/jboss/deployment/security/JaccPolicy.java
trunk/server/src/main/org/jboss/deployment/security/PolicyConfigurationFacade.java
trunk/webservices/.classpath
trunk/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentFactory.java
Log:
JBAS-5935: JBossWS deployer needs to create jacc perms for the dynamic web app it generates for EJB based WS deployments
Modified: trunk/server/src/main/org/jboss/deployment/security/AbstractSecurityDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/security/AbstractSecurityDeployer.java 2008-09-09 01:31:17 UTC (rev 78221)
+++ trunk/server/src/main/org/jboss/deployment/security/AbstractSecurityDeployer.java 2008-09-09 03:11:59 UTC (rev 78222)
@@ -201,4 +201,4 @@
",parent=\"" + parentDU.getSimpleName() + "\"" : "";
return BASE_OBJECT_NAME + "\"" + deploymentName + "\"" + parentDeploymentName;
}
-}
\ No newline at end of file
+}
Modified: trunk/server/src/main/org/jboss/deployment/security/JaccPolicy.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/security/JaccPolicy.java 2008-09-09 01:31:17 UTC (rev 78221)
+++ trunk/server/src/main/org/jboss/deployment/security/JaccPolicy.java 2008-09-09 03:11:59 UTC (rev 78222)
@@ -185,7 +185,7 @@
if(parentPC == null)
{
PolicyConfigurationFactory pcf = PolicyConfigurationFactory.getPolicyConfigurationFactory();
- parentPC = pcf.getPolicyConfiguration(contextID, true);
+ parentPC = pcf.getPolicyConfiguration(contextID, false);
}
}
Modified: trunk/server/src/main/org/jboss/deployment/security/PolicyConfigurationFacade.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/security/PolicyConfigurationFacade.java 2008-09-09 01:31:17 UTC (rev 78221)
+++ trunk/server/src/main/org/jboss/deployment/security/PolicyConfigurationFacade.java 2008-09-09 03:11:59 UTC (rev 78222)
@@ -28,7 +28,6 @@
import org.jboss.logging.Logger;
import org.jboss.metadata.javaee.support.IdMetaData;
-//$Id$
/**
* A facade for the JACC Policy Configuration
@@ -62,7 +61,7 @@
try
{
PolicyConfigurationFactory pcf = PolicyConfigurationFactory.getPolicyConfigurationFactory();
- policyConfiguration = pcf.getPolicyConfiguration(this.jaccContextId, true);
+ policyConfiguration = pcf.getPolicyConfiguration(this.jaccContextId, false);
createPermissions(metaData, policyConfiguration);
}
Modified: trunk/webservices/.classpath
===================================================================
--- trunk/webservices/.classpath 2008-09-09 01:31:17 UTC (rev 78221)
+++ trunk/webservices/.classpath 2008-09-09 03:11:59 UTC (rev 78222)
@@ -8,5 +8,6 @@
<classpathentry exported="true" kind="lib" path="/thirdparty/org/jboss/ws/lib/jbossws-framework.jar" sourcepath="/thirdparty/org/jboss/ws/lib/jbossws-framework-src.zip"/>
<classpathentry kind="lib" path="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-client.jar" sourcepath="/thirdparty/jboss/jboss-deployers/lib/jboss-deployers-client-sources.jar"/>
<classpathentry kind="lib" path="/thirdparty/org/jboss/ws/lib/jbossws-spi.jar"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/server"/>
<classpathentry kind="output" path="output/eclipse-classes"/>
</classpath>
Modified: trunk/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentFactory.java
===================================================================
--- trunk/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentFactory.java 2008-09-09 01:31:17 UTC (rev 78221)
+++ trunk/webservices/src/main/org/jboss/wsf/container/jboss50/transport/WebAppDeploymentFactory.java 2008-09-09 03:11:59 UTC (rev 78222)
@@ -21,8 +21,12 @@
*/
package org.jboss.wsf.container.jboss50.transport;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
+import javax.security.jacc.PolicyConfiguration;
+import javax.security.jacc.PolicyConfigurationFactory;
+
+import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.metadata.web.jboss.JBossWebMetaData;
+import org.jboss.web.WebPermissionMapping;
import org.jboss.wsf.container.jboss50.deployment.tomcat.WebMetaDataModifier;
import org.jboss.wsf.spi.deployment.Deployment;
import org.jboss.wsf.spi.deployment.WSFDeploymentException;
@@ -34,6 +38,7 @@
*
* @author Thomas.Diesler at jboss.org
* @author Heiko.Braun at jboss.com
+ * @author Anil.Saldhana at jboss.com
*
* @since 12-May-2006
*/
@@ -62,10 +67,21 @@
try
{
webMetaDataModifier.modifyMetaData(dep);
+
+
+ //Generate the JACC permissions here
+ try
+ {
+ generateJACCPermissions(dep.getSimpleName(), jbwmd);
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Exception generating JACC perms:",e);
+ }
// Attaching it to the DeploymentUnit will cause a new webapp deployment
unit.addAttachment(JBossWebMetaData.class, jbwmd);
- unit.addAttachment(HttpSpec.PROPERTY_GENERATED_WEBAPP, Boolean.TRUE);
+ unit.addAttachment(HttpSpec.PROPERTY_GENERATED_WEBAPP, Boolean.TRUE);
}
catch (Exception ex)
@@ -85,4 +101,24 @@
{
// nothing to do?
}
+
+ /**
+ * JBAS-5935: The dynamic web application generated by the JBossWS
+ * does not go through the war security deployer. Hence the JACC
+ * permissions are not created. There is a need to explicitly create
+ * the war jacc permissions.
+ * @param depName
+ * @param jbwmd
+ * @throws Exception
+ */
+ protected void generateJACCPermissions(String depName, JBossWebMetaData jbwmd)
+ throws Exception
+ {
+ PolicyConfigurationFactory policyConfigurationFactory =
+ PolicyConfigurationFactory.getPolicyConfigurationFactory();
+ PolicyConfiguration policyConfiguration =
+ policyConfigurationFactory.getPolicyConfiguration(depName, false);
+ WebPermissionMapping.createPermissions(jbwmd, policyConfiguration);
+ policyConfiguration.commit();
+ }
}
More information about the jboss-cvs-commits
mailing list