From jbossws-commits at lists.jboss.org Mon Feb 24 08:51:50 2014
Content-Type: multipart/mixed; boundary="===============5048303028257706569=="
MIME-Version: 1.0
From: jbossws-commits at lists.jboss.org
To: jbossws-commits at lists.jboss.org
Subject: [jbossws-commits] JBossWS SVN: r18421 -
container/wildfly80/branches/jbossws-wildfly800/tests-integration/src/main/java/org/jboss/as/webservices/deployer.
Date: Mon, 24 Feb 2014 08:51:49 -0500
Message-ID: <201402241351.s1ODpn6K021219@svn01.web.mwc.hst.phx2.redhat.com>
--===============5048303028257706569==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: quoted-printable
Author: jim.ma
Date: 2014-02-24 08:51:48 -0500 (Mon, 24 Feb 2014)
New Revision: 18421
Modified:
container/wildfly80/branches/jbossws-wildfly800/tests-integration/src/ma=
in/java/org/jboss/as/webservices/deployer/RemoteDeployer.java
Log:
[JBWS-3767]:Add addJaspiSecurityDomain sigature
Modified: container/wildfly80/branches/jbossws-wildfly800/tests-integration=
/src/main/java/org/jboss/as/webservices/deployer/RemoteDeployer.java
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- container/wildfly80/branches/jbossws-wildfly800/tests-integration/src/m=
ain/java/org/jboss/as/webservices/deployer/RemoteDeployer.java 2014-02-24 1=
3:48:00 UTC (rev 18420)
+++ container/wildfly80/branches/jbossws-wildfly800/tests-integration/src/m=
ain/java/org/jboss/as/webservices/deployer/RemoteDeployer.java 2014-02-24 1=
3:51:48 UTC (rev 18421)
@@ -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;
=
@@ -90,6 +94,7 @@
*
* @author Richard Opalka
* @author Alessio Soldano<=
/a>
+ * @author Alessio Soldano
*/
public final class RemoteDeployer implements Deployer {
=
@@ -256,6 +261,67 @@
}
}
=
+ public void addJaspiSecurityDomain(String name, String loginModuleStac=
kName, Map loginModuleOptions,
+ String authModuleName, Map authModuleOptions) th=
rows Exception {
+ synchronized (securityDomainUsers) {
+ if (securityDomainUsers.containsKey(name)) {
+ int count =3D securityDomainUsers.get(name);
+ securityDomainUsers.put(name, (count + 1));
+ return;
+ } else {
+ securityDomainUsers.put(name, 1);
+ }
+
+ final List updates =3D new ArrayList();
+
+ final ModelNode compositeOp =3D new ModelNode();
+ compositeOp.get(OP).set(COMPOSITE);
+ compositeOp.get(OP_ADDR).setEmptyList();
+ compositeOp.get(OPERATION_HEADERS, ALLOW_RESOURCE_SERVICE_RESTAR=
T).set(true);
+
+ ModelNode steps =3D compositeOp.get(STEPS);
+ PathAddress address =3D PathAddress.pathAddress().append(SUBSYST=
EM, "security").append(SECURITY_DOMAIN, name);
+ steps.add(Util.createAddOperation(address));
+
+ PathAddress parentAddress =3D address.append(AUTHENTICATION, JAS=
PI);
+ steps.add(Util.createAddOperation(parentAddress));
+
+ // step 3
+ PathAddress loignStackAddress =3D parentAddress.append(LOGIN_MOD=
ULE_STACK, loginModuleStackName);
+ ModelNode loginStack =3D Util.createAddOperation(loignStackAddre=
ss);
+ steps.add(loginStack);
+
+ // step 4
+ ModelNode loginModule =3D Util.createAddOperation(loignStackAddr=
ess.append(LOGIN_MODULE, "UsersRoles"));
+ loginModule.get(CODE).set("UsersRoles");
+ loginModule.get(FLAG).set(REQUIRED);
+ loginModule.get(OPERATION_HEADERS).get(ALLOW_RESOURCE_SERVICE_RE=
START).set(true);
+ final ModelNode moduleOptions =3D loginModule.get(MODULE_OPTIONS=
);
+ if (loginModuleOptions !=3D null) {
+ for (final String k : loginModuleOptions.keySet()) {
+ moduleOptions.add(k, loginModuleOptions.get(k));
+ }
+ }
+ steps.add(loginModule);
+
+ PathAddress authModule =3D parentAddress.append(AUTH_MODULE, aut=
hModuleName);
+ ModelNode authModuleNode =3D Util.createAddOperation(authModule);
+ authModuleNode.get(LOGIN_MODULE_STACK_REF).set(loginModuleStackN=
ame);
+ authModuleNode.get(CODE).set(authModuleName);
+ ModelNode options =3D authModuleNode.get(MODULE_OPTIONS);
+ if (authModuleOptions !=3D 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) {
--===============5048303028257706569==--