import javax.security.auth.login.LoginContext;
import javax.security.auth.login.LoginException;
-/** Integrates JAAS with the Argeo platform */
+/**
+ * Integrates JAAS with the Argeo platform, by using the Argeo CMS bundle
+ * classloader as context classloader.
+ */
public class ArgeoLoginContext extends LoginContext {
private static ThreadLocal<ClassLoader> currentContextClassLoader = new ThreadLocal<ClassLoader>() {
@Override
currentContextClassLoader.remove();
}
+ public ArgeoLoginContext(String name, Subject subject)
+ throws LoginException {
+ super(setContextClassLoaderForName(name), subject);
+ // reset current context classloader
+ Thread.currentThread().setContextClassLoader(
+ currentContextClassLoader.get());
+ currentContextClassLoader.remove();
+ }
+
/**
* Set the context classloader
*