[jboss-svn-commits] JBL Code SVN: r21182 - in labs/jbossesb/workspace/dbevenius/security/product/rosetta: src/org/jboss/soa/esb/services/security and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jul 22 16:44:27 EDT 2008
Author: beve
Date: 2008-07-22 16:44:27 -0400 (Tue, 22 Jul 2008)
New Revision: 21182
Modified:
labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/JaasSecurityService.java
labs/jbossesb/workspace/dbevenius/security/product/rosetta/tests/src/org/jboss/soa/esb/services/security/SecurityServiceFactoryUnitTest.java
Log:
Minor clean up
Modified: labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java 2008-07-22 20:05:10 UTC (rev 21181)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java 2008-07-22 20:44:27 UTC (rev 21182)
@@ -313,8 +313,6 @@
{
long start = System.nanoTime();
serviceMessageCounter.incrementTotalCount();
- final Call callDetails = new Call() ;
- callDetails.copy(message.getHeader().getCall()) ;
if (active.get())
{
@@ -323,52 +321,9 @@
LOGGER.debug("pipeline process for message: "+message.getHeader());
}
- SecurityContext securityContext = null;
if ( securityConf != null )
{
- // if the gateway or another service passed a subject use that subject for authentication.
- final Subject subject = (Subject) message.getAttachment().get( "Subject" );
- securityContext = new JaasSecurityContext(securityConf, subject);
-
- try
- {
- SecurityServiceFactory.getSecurityService().authenticate(securityContext);
- LOGGER.info("Subject after authentication" + securityContext.getSubject());
- }
- catch (final LoginException e)
- {
- LOGGER.error( "Login exception : ", e);
- faultTo(callDetails, Factory.createErrorMessage(Factory.UNEXPECTED_ERROR, message, e));
- return false;
- }
-
- PrivilegedAction<Boolean> action = new PrivilegedAction<Boolean>()
- {
- public Boolean run()
- {
- return processPipeline(message);
- }
- };
-
- Boolean processResult = Boolean.FALSE;
- try
- {
- processResult = (Boolean) Subject.doAsPrivileged(securityContext.getSubject(), action, null);
- }
- finally
- {
- try
- {
- SecurityServiceFactory.getSecurityService().logout(securityContext);
- LOGGER.info("Subject after logout" + securityContext.getSubject());
- }
- catch (final LoginException e)
- {
- LOGGER.error( "Logout exception : ", e);
- faultTo(callDetails, Factory.createErrorMessage(Factory.UNEXPECTED_ERROR, message, e));
- }
- }
- return processResult.booleanValue();
+ return processPipelineSecured(message);
}
else
{
@@ -377,6 +332,8 @@
}
else
{
+ final Call callDetails = new Call() ;
+ callDetails.copy(message.getHeader().getCall()) ;
LOGGER.debug("pipeline process disabled for message: "+message.getHeader());
faultTo(callDetails, Factory.createErrorMessage(Factory.NOT_ENABLED, message, null));
@@ -388,6 +345,57 @@
}
}
+ private boolean processPipelineSecured(final Message message)
+ {
+ final Call callDetails = new Call() ;
+ callDetails.copy(message.getHeader().getCall()) ;
+
+ SecurityContext securityContext = null;
+ // if the gateway or another service passed a subject use that subject for authentication.
+ final Subject subject = (Subject) message.getAttachment().get( "Subject" );
+ securityContext = new JaasSecurityContext(securityConf, subject);
+
+ try
+ {
+ SecurityServiceFactory.getSecurityService().authenticate(securityContext);
+ LOGGER.info("Subject after authentication" + securityContext.getSubject());
+ }
+ catch (final LoginException e)
+ {
+ LOGGER.error( "Login exception : ", e);
+ faultTo(callDetails, Factory.createErrorMessage(Factory.UNEXPECTED_ERROR, message, e));
+ return false;
+ }
+
+ PrivilegedAction<Boolean> action = new PrivilegedAction<Boolean>()
+ {
+ public Boolean run()
+ {
+ return processPipeline(message);
+ }
+ };
+
+ Boolean processResult = Boolean.FALSE;
+ try
+ {
+ processResult = (Boolean) Subject.doAsPrivileged(securityContext.getSubject(), action, null);
+ }
+ finally
+ {
+ try
+ {
+ SecurityServiceFactory.getSecurityService().logout(securityContext);
+ LOGGER.info("Subject after logout" + securityContext.getSubject());
+ }
+ catch (final LoginException e)
+ {
+ LOGGER.error( "Logout exception : ", e);
+ faultTo(callDetails, Factory.createErrorMessage(Factory.UNEXPECTED_ERROR, message, e));
+ }
+ }
+ return processResult.booleanValue();
+ }
+
private boolean processPipeline(final Message message)
{
long start = System.nanoTime();
Modified: labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/JaasSecurityService.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/JaasSecurityService.java 2008-07-22 20:05:10 UTC (rev 21181)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/JaasSecurityService.java 2008-07-22 20:44:27 UTC (rev 21182)
@@ -67,9 +67,7 @@
String loginConfigUrl = Configuration.getSecurityServiceConfigUrl();
if ( loginConfigUrl != null )
{
-
URL loginUrl = ClassUtil.getResource(loginConfigUrl, getClass());
- log.info("LoginUrl : " + loginUrl);
if ( loginUrl == null )
{
final String invalidPropertyMsg =
Modified: labs/jbossesb/workspace/dbevenius/security/product/rosetta/tests/src/org/jboss/soa/esb/services/security/SecurityServiceFactoryUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/security/product/rosetta/tests/src/org/jboss/soa/esb/services/security/SecurityServiceFactoryUnitTest.java 2008-07-22 20:05:10 UTC (rev 21181)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/tests/src/org/jboss/soa/esb/services/security/SecurityServiceFactoryUnitTest.java 2008-07-22 20:44:27 UTC (rev 21182)
@@ -28,6 +28,7 @@
import org.jboss.soa.esb.common.Environment;
import org.jboss.soa.esb.util.ClassUtil;
+import org.junit.Before;
import org.junit.Test;
/**
@@ -40,13 +41,18 @@
@Test
public void getSecurityService() throws Exception
{
- URL resource = ClassUtil.getResource("security-properties.xml", getClass());
- System.setProperty(Environment.PROPERTIES_FILE, "abs://" + resource.getFile());
- //System.setProperty( "com.arjuna.common.util.propertyservice.verbosePropertyManager","ON");
SecurityService securityService = SecurityServiceFactory.getSecurityService();
assertNotNull( securityService );
}
+ @Before
+ public void setup()
+ {
+ URL resource = ClassUtil.getResource("security-properties.xml", getClass());
+ System.setProperty(Environment.PROPERTIES_FILE, "abs://" + resource.getFile());
+ }
+
+
public static junit.framework.Test suite()
{
return new JUnit4TestAdapter(SecurityServiceFactoryUnitTest.class);
More information about the jboss-svn-commits
mailing list