[jboss-svn-commits] JBL Code SVN: r21471 - in labs/jbossesb/workspace/dbevenius/security/product/rosetta: src/org/jboss/soa/esb/listeners/gateway and 2 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Aug 12 10:37:22 EDT 2008
Author: beve
Date: 2008-08-12 10:37:22 -0400 (Tue, 12 Aug 2008)
New Revision: 21471
Added:
labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/auth/ws/smooks-ws-security.xml
Removed:
labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/auth/ws/smooks-config.xml
Modified:
labs/jbossesb/workspace/dbevenius/security/product/rosetta/build.xml
labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListener.java
labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/auth/ws/WSSecurityInfoExtractor.java
labs/jbossesb/workspace/dbevenius/security/product/rosetta/tests/src/org/jboss/soa/esb/services/security/auth/ws/WSSecurityInfoExtractorUnitTest.java
Log:
Added the WS Securityinfo extraction to JBossRemotingGatewayListener.
Modified: labs/jbossesb/workspace/dbevenius/security/product/rosetta/build.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/security/product/rosetta/build.xml 2008-08-12 13:31:39 UTC (rev 21470)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/build.xml 2008-08-12 14:37:22 UTC (rev 21471)
@@ -91,6 +91,7 @@
>
<fileset dir="${org.jboss.esb.rosetta.src.dir}" includes="**/*.groovy"/>
<fileset dir="${org.jboss.esb.rosetta.src.dir}" includes="**/*.properties"/>
+ <fileset dir="${org.jboss.esb.rosetta.src.dir}" includes="org/jboss/soa/esb/services/security/auth/ws/smooks-ws-security.xml"/>
</jar>
<jar destfile="${org.jboss.esb.rosetta.distrib.dir}/lib/test-util.jar" manifest="${org.jboss.esb.rosetta.classes.dir}/MANIFEST.MF">
Modified: labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListener.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListener.java 2008-08-12 13:31:39 UTC (rev 21470)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/listeners/gateway/JBossRemotingGatewayListener.java 2008-08-12 14:37:22 UTC (rev 21471)
@@ -52,6 +52,7 @@
import org.jboss.soa.esb.services.security.SecurityService;
import org.jboss.soa.esb.services.security.auth.AuthenticationRequest;
import org.jboss.soa.esb.services.security.auth.http.JbrHttpSecurityInfoExtractor;
+import org.jboss.soa.esb.services.security.auth.ws.WSSecurityInfoExtractor;
import org.jboss.soa.esb.util.ClassUtil;
import javax.management.MBeanServer;
@@ -497,16 +498,26 @@
// Set the payload from the JBR invocation...
payloadProxy.setPayload(message, invocationRequest.getParameter());
+ logger.info("Payload : " + invocationRequest.getParameter());
// Copy the request properties onto the message...
Map properties = invocationRequest.getRequestPayload();
if (properties != null) {
- // Extract any security information that exists
+ // Extract any http security information that may exist
AuthenticationRequest authRequest = new JbrHttpSecurityInfoExtractor().extractSecurityInfo(properties);
- message.getProperties().setProperty(SecurityService.AUTH_REQUEST, authRequest);
+ // Extract any ws security information that may exist
+ if ( authRequest == null ) {
+ authRequest = new WSSecurityInfoExtractor().extractSecurityInfo((String) invocationRequest.getParameter());
+ }
+
+ if ( authRequest != null ) {
+ message.getProperties().setProperty(SecurityService.AUTH_REQUEST, authRequest);
+ }
+
+
// Purposely not iterating over the Map.Entry Set because there's
// a bug in the Map impl used by JBossRemoting. Not all the
// "values" are actually in the Map.Entry set. Some of them are handled
Modified: labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/auth/ws/WSSecurityInfoExtractor.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/auth/ws/WSSecurityInfoExtractor.java 2008-08-12 13:31:39 UTC (rev 21470)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/auth/ws/WSSecurityInfoExtractor.java 2008-08-12 14:37:22 UTC (rev 21471)
@@ -43,14 +43,15 @@
*/
public class WSSecurityInfoExtractor implements SecurityInfoExtractor<String>
{
+ private static final String SMOOK_CONFIG_FILE = "smooks-ws-security.xml";
private Smooks smooks;
- public WSSecurityInfoExtractor() throws IOException, SAXException
+ public WSSecurityInfoExtractor()
{
- createSmooks("smooks-config.xml");
+ createSmooks( SMOOK_CONFIG_FILE );
}
- public WSSecurityInfoExtractor(final String configFile) throws IOException, SAXException
+ public WSSecurityInfoExtractor(final String configFile)
{
createSmooks(configFile);
}
@@ -77,9 +78,20 @@
return new AuthenticationRequestImpl.Builder(user, credentials ).bulid();
}
- private void createSmooks(final String configFile) throws IOException, SAXException
+ private void createSmooks(final String configFile)
{
- this.smooks = new Smooks( ClassUtil.getResourceAsStream(configFile, getClass()));
+ try
+ {
+ this.smooks = new Smooks( ClassUtil.getResourceAsStream(configFile, getClass()));
+ }
+ catch (final SAXException e)
+ {
+ throw new IllegalStateException("Could not parse " + configFile, e);
+ }
+ catch (final IOException e)
+ {
+ throw new IllegalStateException("Could not parse " + configFile, e);
+ }
}
}
Deleted: labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/auth/ws/smooks-config.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/auth/ws/smooks-config.xml 2008-08-12 13:31:39 UTC (rev 21470)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/auth/ws/smooks-config.xml 2008-08-12 14:37:22 UTC (rev 21471)
@@ -1,25 +0,0 @@
-<?xml version="1.0"?>
-<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
-
- <resource-config selector="Envelope/Header/Security/UsernameToken">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">userNameToken</param>
- <param name="beanClass">org.jboss.soa.esb.services.security.auth.ws.UsernameToken</param>
- <param name="bindings">
- <binding property="userName" selector="Username" default="" />
- <binding property="password" selector="Password" />
- </param>
- </resource-config>
-
- <resource-config selector="Envelope/Header/Security/BinarySecurityToken">
- <resource>org.milyn.javabean.BeanPopulator</resource>
- <param name="beanId">binarySecurityToken</param>
- <param name="beanClass">org.jboss.soa.esb.services.security.auth.ws.BinarySecurityToken</param>
- <param name="bindings">
- <binding property="encodingType" selector="BinarySecurityToken @EncodingType" />
- <binding property="valueType" selector="BinarySecurityToken @ValueType" />
- <binding property="key" selector="BinarySecurityToken" />
- </param>
- </resource-config>
-
-</smooks-resource-list>
Added: labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/auth/ws/smooks-ws-security.xml
===================================================================
--- labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/auth/ws/smooks-ws-security.xml (rev 0)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/auth/ws/smooks-ws-security.xml 2008-08-12 14:37:22 UTC (rev 21471)
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<smooks-resource-list xmlns="http://www.milyn.org/xsd/smooks-1.0.xsd">
+
+ <resource-config selector="Envelope/Header/Security/UsernameToken">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">userNameToken</param>
+ <param name="beanClass">org.jboss.soa.esb.services.security.auth.ws.UsernameToken</param>
+ <param name="bindings">
+ <binding property="userName" selector="Username" default="" />
+ <binding property="password" selector="Password" />
+ </param>
+ </resource-config>
+
+ <resource-config selector="Envelope/Header/Security/BinarySecurityToken">
+ <resource>org.milyn.javabean.BeanPopulator</resource>
+ <param name="beanId">binarySecurityToken</param>
+ <param name="beanClass">org.jboss.soa.esb.services.security.auth.ws.BinarySecurityToken</param>
+ <param name="bindings">
+ <binding property="encodingType" selector="BinarySecurityToken @EncodingType" />
+ <binding property="valueType" selector="BinarySecurityToken @ValueType" />
+ <binding property="key" selector="BinarySecurityToken" />
+ </param>
+ </resource-config>
+
+</smooks-resource-list>
Modified: labs/jbossesb/workspace/dbevenius/security/product/rosetta/tests/src/org/jboss/soa/esb/services/security/auth/ws/WSSecurityInfoExtractorUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/security/product/rosetta/tests/src/org/jboss/soa/esb/services/security/auth/ws/WSSecurityInfoExtractorUnitTest.java 2008-08-12 13:31:39 UTC (rev 21470)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/tests/src/org/jboss/soa/esb/services/security/auth/ws/WSSecurityInfoExtractorUnitTest.java 2008-08-12 14:37:22 UTC (rev 21471)
@@ -47,7 +47,7 @@
@Test
public void extractUserPassSecurityInfo() throws SAXException, IOException, ParserConfigurationException, ConfigurationException
{
- WSSecurityInfoExtractor extractor = new WSSecurityInfoExtractor();
+ WSSecurityInfoExtractor extractor = new WSSecurityInfoExtractor("smooks-config.xml");
String soap = createUserPassSoapString();
AuthenticationRequest authRequest = extractor.extractSecurityInfo(soap);
assertNotNull(authRequest);
@@ -57,7 +57,7 @@
@Test
public void extractKeySecurityInfo() throws SAXException, IOException, ParserConfigurationException, ConfigurationException
{
- WSSecurityInfoExtractor extractor = new WSSecurityInfoExtractor();
+ WSSecurityInfoExtractor extractor = new WSSecurityInfoExtractor("smooks-config.xml");
String soap = createKeySoapString();
AuthenticationRequest authRequest = extractor.extractSecurityInfo(soap);
assertNotNull(authRequest);
More information about the jboss-svn-commits
mailing list