[jboss-svn-commits] JBL Code SVN: r21538 - 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
Thu Aug 14 06:23:41 EDT 2008
Author: beve
Date: 2008-08-14 06:23:40 -0400 (Thu, 14 Aug 2008)
New Revision: 21538
Modified:
labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/internal/soa/esb/services/security/JaasSecurityService.java
labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/SecurityService.java
labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/SecurityServiceFactory.java
labs/jbossesb/workspace/dbevenius/security/product/rosetta/tests/src/org/jboss/internal/soa/esb/services/security/JaasSecurityServiceUnitTest.java
Log:
Added a refresh method to the SecurityService. This is so that the config can be reread.
Modified: labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/internal/soa/esb/services/security/JaasSecurityService.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/internal/soa/esb/services/security/JaasSecurityService.java 2008-08-14 08:35:15 UTC (rev 21537)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/internal/soa/esb/services/security/JaasSecurityService.java 2008-08-14 10:23:40 UTC (rev 21538)
@@ -81,7 +81,7 @@
/*
* Original login configuration e.g JBoss AS login configuration
*/
- private javax.security.auth.login.Configuration orgConfiguration;
+ private javax.security.auth.login.Configuration containerConfig;
/*
* Custom login configuration
@@ -118,13 +118,15 @@
final EsbCallbackHandler callbackHandler = createCallbackHandler(config, authRequest);
try
{
+ log.info("Configuration: " + configuration);
+ log.info("OrgConfiguration :" + containerConfig);
// try to login with a standalone jaas login configuration file(for example jaas.login file)
loginContext = new LoginContext(config.getModuleName(), securityContext.getSubject(), callbackHandler, configuration);
}
catch (final LoginException ignore)
{
// fall back and try using the orginal configuration(for example jboss login-config.xml)
- loginContext = new LoginContext(config.getModuleName(), securityContext.getSubject(), callbackHandler, orgConfiguration);
+ loginContext = new LoginContext(config.getModuleName(), securityContext.getSubject(), callbackHandler, containerConfig);
}
// invoke the login process
@@ -175,13 +177,14 @@
}
/**
- *
+ * Configures by reading the value of the property 'org.jboss.soa.esb.services.security.configUrl'
+ * from jbossesb-properties, is one exists.
*/
public void configure() throws ConfigurationException
{
try
{
- orgConfiguration = javax.security.auth.login.Configuration.getConfiguration();
+ containerConfig = javax.security.auth.login.Configuration.getConfiguration();
}
catch(final SecurityException ignore)
{
@@ -212,6 +215,15 @@
throw new UnsupportedOperationException("Logout is not implemented for " + getClass().getName());
}
+ public void refreshSecurityConfig()
+ {
+ if ( configuration != null )
+ {
+ log.info("Refreshing Security configuration");
+ configuration.refresh();
+ }
+ }
+
/**
* Creates an instance of EsbCallbackHandler specified in either jboss-esb.xml:
* <pre>
Modified: labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/SecurityService.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/SecurityService.java 2008-08-14 08:35:15 UTC (rev 21537)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/SecurityService.java 2008-08-14 10:23:40 UTC (rev 21538)
@@ -77,4 +77,9 @@
* @throws LoginException
*/
void logout(final SecurityConfig securityConfig);
+
+ /**
+ * Refresh the security configuration
+ */
+ void refreshSecurityConfig();
}
Modified: labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/SecurityServiceFactory.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/SecurityServiceFactory.java 2008-08-14 08:35:15 UTC (rev 21537)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/src/org/jboss/soa/esb/services/security/SecurityServiceFactory.java 2008-08-14 10:23:40 UTC (rev 21538)
@@ -37,6 +37,7 @@
{
if (instance != null)
{
+ instance.refreshSecurityConfig();
return instance;
}
Modified: labs/jbossesb/workspace/dbevenius/security/product/rosetta/tests/src/org/jboss/internal/soa/esb/services/security/JaasSecurityServiceUnitTest.java
===================================================================
--- labs/jbossesb/workspace/dbevenius/security/product/rosetta/tests/src/org/jboss/internal/soa/esb/services/security/JaasSecurityServiceUnitTest.java 2008-08-14 08:35:15 UTC (rev 21537)
+++ labs/jbossesb/workspace/dbevenius/security/product/rosetta/tests/src/org/jboss/internal/soa/esb/services/security/JaasSecurityServiceUnitTest.java 2008-08-14 10:23:40 UTC (rev 21538)
@@ -29,6 +29,8 @@
import java.util.Set;
import javax.security.auth.Subject;
+import javax.security.auth.login.AppConfigurationEntry;
+import javax.security.auth.login.Configuration;
import junit.framework.JUnit4TestAdapter;
@@ -129,6 +131,17 @@
service.authenticate( configInfo, context, null );
}
+ @Test
+ public void refresh() throws SecurityServiceException
+ {
+ SecurityConfig configInfo = SecurityConfig.createSecurityInfo(null, null, "SuccessfulLogin", null, null);
+ SecurityContext context = new SecurityContext(subject);
+ Configuration configuration = Configuration.getConfiguration();
+ System.out.println(configuration);
+ service.refreshSecurityConfig();
+ service.authenticate( configInfo, context, null );
+ }
+
@Before
public void setup() throws ConfigurationException
{
More information about the jboss-svn-commits
mailing list