Skip to content

Commit

Permalink
[WFLY-263]:Support jaspic soap profile; Update jbossws-cxf to 4.3.0.CR1
Browse files Browse the repository at this point in the history
  • Loading branch information
jimma authored and kabir committed Mar 17, 2014
1 parent 2b814bd commit 20e76ad
Show file tree
Hide file tree
Showing 7 changed files with 110 additions and 3 deletions.
1 change: 1 addition & 0 deletions build/build.xml
Expand Up @@ -1356,6 +1356,7 @@

<module-def name="org.jboss.ws.jaxws-client">
<maven-resource group="org.jboss.ws.cxf" artifact="jbossws-cxf-client"/>
<maven-resource group="org.jboss.ws.cxf" artifact="jbossws-cxf-jaspi"/>
</module-def>

<module-def name="org.jboss.ws.jaxws-undertow-httpspi">
Expand Down
5 changes: 5 additions & 0 deletions build/pom.xml
Expand Up @@ -1869,6 +1869,11 @@
<artifactId>jbossws-cxf-client</artifactId>
</dependency>

<dependency>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf-jaspi</artifactId>
</dependency>

<dependency>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf-factories</artifactId>
Expand Down
Expand Up @@ -47,5 +47,8 @@
<module name="org.jboss.ws.cxf.jbossws-cxf-transports-undertow" export="true" services="export" />
<module name="org.jboss.ws.cxf.jbossws-cxf-transports-udp" export="true" services="export" />
<module name="org.jboss.jaxbintros" export="true"/>
<module name="javax.security.auth.message.api" export="true"/>
<module name="org.picketbox" export="true"/>
<module name="org.apache.ws.security" export="true"/>
</dependencies>
</module>
Expand Up @@ -34,6 +34,7 @@

<dependencies>
<module name="javax.api" />
<module name="javax.security.auth.message.api"/>
<module name="javax.servlet.api" />
<module name="javax.jws.api" />
<module name="javax.wsdl4j.api" />
Expand Down
Expand Up @@ -36,6 +36,7 @@
<module name="javax.api" />
<module name="javax.servlet.api" />
<module name="javax.xml.bind.api" />
<module name="javax.security.auth.message.api"/>
<module name="com.sun.xml.bind" services="import"/>
<module name="javax.xml.ws.api" />
<module name="org.jboss.ws.api" />
Expand Down Expand Up @@ -65,6 +66,7 @@
<module name="org.apache.neethi" />
<module name="org.apache.ws.security" />
<module name="org.jboss.logging" />
<module name="org.picketbox"/>
<module name="org.springframework.spring" optional="true">
<imports>
<include path="META-INF"/>
Expand Down
35 changes: 32 additions & 3 deletions pom.xml
Expand Up @@ -234,10 +234,10 @@
<version.org.jboss.weld.weld>2.1.2.Final</version.org.jboss.weld.weld>
<version.org.jboss.weld.weld-api>2.1.Final</version.org.jboss.weld.weld-api>
<version.org.jboss.ws.api>1.0.2.Final</version.org.jboss.ws.api>
<version.org.jboss.ws.spi>2.3.0.Beta3</version.org.jboss.ws.spi>
<version.org.jboss.ws.common>2.3.0.Beta2</version.org.jboss.ws.common>
<version.org.jboss.ws.spi>2.3.0.CR1</version.org.jboss.ws.spi>
<version.org.jboss.ws.common>2.3.0.CR1</version.org.jboss.ws.common>
<version.org.jboss.ws.common.tools>1.2.0.Final</version.org.jboss.ws.common.tools>
<version.org.jboss.ws.cxf>4.3.0.Beta2</version.org.jboss.ws.cxf>
<version.org.jboss.ws.cxf>4.3.0.CR1</version.org.jboss.ws.cxf>
<version.org.jboss.ws.jaxws-undertow-httpspi>1.0.1.Beta1</version.org.jboss.ws.jaxws-undertow-httpspi>
<version.org.jboss.xb>2.0.3.GA</version.org.jboss.xb>
<version.org.jboss.xnio>3.2.0.Final</version.org.jboss.xnio>
Expand Down Expand Up @@ -5990,6 +5990,35 @@
</exclusions>
</dependency>

<dependency>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf-jaspi</artifactId>
<version>${version.org.jboss.ws.cxf}</version>
<exclusions>
<exclusion>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-ws-security</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging-spi</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging-log4j</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.spec.javax.servlet</groupId>
<artifactId>jboss-servlet-api_3.0_spec</artifactId>
</exclusion>

</exclusions>
</dependency>

<dependency>
<groupId>org.jboss.ws.cxf</groupId>
<artifactId>jbossws-cxf-factories</artifactId>
Expand Down
Expand Up @@ -81,7 +81,11 @@
import static org.jboss.as.security.Constants.CLASSIC;
import static org.jboss.as.security.Constants.CODE;
import static org.jboss.as.security.Constants.FLAG;
import static org.jboss.as.security.Constants.AUTH_MODULE;
import static org.jboss.as.security.Constants.JASPI;
import static org.jboss.as.security.Constants.LOGIN_MODULE;
import static org.jboss.as.security.Constants.LOGIN_MODULE_STACK;
import static org.jboss.as.security.Constants.LOGIN_MODULE_STACK_REF;
import static org.jboss.as.security.Constants.MODULE_OPTIONS;
import static org.jboss.as.security.Constants.SECURITY_DOMAIN;

Expand All @@ -90,6 +94,7 @@
*
* @author <a href="mailto:ropalka@redhat.com">Richard Opalka</a>
* @author <a href="mailto:alessio.soldano@jboss.com">Alessio Soldano</a>
* @author <a href="mailto:ema@redhat.com">Jim Ma</a>
*/
public final class RemoteDeployer implements Deployer {

Expand Down Expand Up @@ -256,6 +261,67 @@ public void addSecurityDomain(String name, Map<String, String> authenticationOpt
}
}

public void addJaspiSecurityDomain(String name, String loginModuleStackName, Map<String, String> loginModuleOptions,
String authModuleName, Map<String, String> authModuleOptions) throws Exception {
synchronized (securityDomainUsers) {
if (securityDomainUsers.containsKey(name)) {
int count = securityDomainUsers.get(name);
securityDomainUsers.put(name, (count + 1));
return;
} else {
securityDomainUsers.put(name, 1);
}

final List<ModelNode> updates = new ArrayList<ModelNode>();

final ModelNode compositeOp = new ModelNode();
compositeOp.get(OP).set(COMPOSITE);
compositeOp.get(OP_ADDR).setEmptyList();
compositeOp.get(OPERATION_HEADERS, ALLOW_RESOURCE_SERVICE_RESTART).set(true);

ModelNode steps = compositeOp.get(STEPS);
PathAddress address = PathAddress.pathAddress().append(SUBSYSTEM, "security").append(SECURITY_DOMAIN, name);
steps.add(Util.createAddOperation(address));

PathAddress parentAddress = address.append(AUTHENTICATION, JASPI);
steps.add(Util.createAddOperation(parentAddress));

// step 3
PathAddress loignStackAddress = parentAddress.append(LOGIN_MODULE_STACK, loginModuleStackName);
ModelNode loginStack = Util.createAddOperation(loignStackAddress);
steps.add(loginStack);

// step 4
ModelNode loginModule = Util.createAddOperation(loignStackAddress.append(LOGIN_MODULE, "UsersRoles"));
loginModule.get(CODE).set("UsersRoles");
loginModule.get(FLAG).set(REQUIRED);
loginModule.get(OPERATION_HEADERS).get(ALLOW_RESOURCE_SERVICE_RESTART).set(true);
final ModelNode moduleOptions = loginModule.get(MODULE_OPTIONS);
if (loginModuleOptions != null) {
for (final String k : loginModuleOptions.keySet()) {
moduleOptions.add(k, loginModuleOptions.get(k));
}
}
steps.add(loginModule);

PathAddress authModule = parentAddress.append(AUTH_MODULE, authModuleName);
ModelNode authModuleNode = Util.createAddOperation(authModule);
authModuleNode.get(LOGIN_MODULE_STACK_REF).set(loginModuleStackName);
authModuleNode.get(CODE).set(authModuleName);
ModelNode options = authModuleNode.get(MODULE_OPTIONS);
if (authModuleOptions != null) {
for (final String k : authModuleOptions.keySet()) {
options.add(k, authModuleOptions.get(k));
}
}
steps.add(authModuleNode);

updates.add(compositeOp);

applyUpdates(updates);
}
}

@Override
public void removeSecurityDomain(String name) throws Exception {
synchronized (securityDomainUsers) {
Expand Down

0 comments on commit 20e76ad

Please sign in to comment.