public DelegatingServerAuthModule(LoginModuleStackHolder lmsh)
{
this.loginModuleStackHolder = lmsh;
this.configurationName = lmsh.getName();
XMLLoginConfigImpl xmlConfig = null;
Configuration config = Configuration.getConfiguration();
if(config != null && config instanceof XMLLoginConfigImpl)
{
xmlConfig = (XMLLoginConfigImpl)config;
}
else
{
xmlConfig = new XMLLoginConfigImpl();
Configuration.setConfiguration(xmlConfig);
}
//Check if an Application Policy is contained
ApplicationPolicy aPolicy = xmlConfig.getApplicationPolicy(lmsh.getName());
if(aPolicy != null)
{
BaseAuthenticationInfo baInfo = aPolicy.getAuthenticationInfo();
if(baInfo instanceof AuthenticationInfo)
{
AuthenticationInfo ai = (AuthenticationInfo)baInfo;
ai.add(Arrays.asList(lmsh.getAppConfigurationEntry()));
}
}
else
{
//Create a Configuration and set it on the thread
xmlConfig.addAppConfig(lmsh.getName(),lmsh.getAppConfigurationEntry());
}
}