[jboss-svn-commits] JBL Code SVN: r21176 - in labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb: services/security and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Jul 22 13:35:38 EDT 2008
Author: beve
Date: 2008-07-22 13:35:38 -0400 (Tue, 22 Jul 2008)
New Revision: 21176
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
Log:
added logout to the ActionProcessingPipeline
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 17:35:05 UTC (rev 21175)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/listeners/message/ActionProcessingPipeline.java 2008-07-22 17:35:38 UTC (rev 21176)
@@ -328,24 +328,20 @@
{
// if the gateway or another service passed a subject use that subject for authentication.
final Subject subject = (Subject) message.getAttachment().get( "Subject" );
-
- // create a security context.
securityContext = new JaasSecurityContext(securityConf, subject);
- // authenticate the subject
try
{
SecurityServiceFactory.getSecurityService().authenticate(securityContext);
+ LOGGER.info("Subject after authentication" + securityContext.getSubject());
}
- catch (LoginException e)
+ catch (final LoginException e)
{
- LOGGER.error( "Loging exception : ", e);
+ LOGGER.error( "Login exception : ", e);
faultTo(callDetails, Factory.createErrorMessage(Factory.UNEXPECTED_ERROR, message, e));
return false;
}
- LOGGER.info("Subject after authentication" + securityContext.getSubject());
-
PrivilegedAction<Boolean> action = new PrivilegedAction<Boolean>()
{
public Boolean run()
@@ -353,7 +349,25 @@
return processPipeline(message);
}
};
- Boolean processResult = (Boolean)Subject.doAsPrivileged(securityContext.getSubject(), action, null);
+
+ 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();
}
else
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 17:35:05 UTC (rev 21175)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/JaasSecurityService.java 2008-07-22 17:35:38 UTC (rev 21176)
@@ -115,9 +115,10 @@
}
}
- public void logout(SecurityContext securityContext) throws LoginException
+ public void logout(SecurityContext context) throws LoginException
{
- throw new UnsupportedOperationException ("Not implemented yet!");
+ LoginContext loginContext = new LoginContext(context.getConfigInfo().getModuleName(), context.getSubject(), null, new ConfigFile());
+ loginContext.logout();
}
}
More information about the jboss-svn-commits
mailing list