X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FKernelUtils.java;h=b3fb33ac3169911e02eaafe4b6df4fbd1197dfb5;hb=35507e18257f2e9f59842ba5120fcd3f19c4cf4d;hp=5d49797911125d0c755655f4bb4919a49745ed04;hpb=9b91329a1c5d7e6b5fc4fae3c21d6019318acc8e;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelUtils.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelUtils.java index 5d4979791..b3fb33ac3 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelUtils.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/KernelUtils.java @@ -5,9 +5,11 @@ import java.io.IOException; import java.io.PrintStream; import java.net.URI; import java.net.URISyntaxException; +import java.net.URL; import java.nio.file.Path; import java.nio.file.Paths; import java.security.PrivilegedAction; +import java.security.URIParameter; import java.util.Dictionary; import java.util.Hashtable; import java.util.Properties; @@ -33,6 +35,17 @@ class KernelUtils implements KernelConstants { final static String OSGI_INSTANCE_AREA = "osgi.instance.area"; final static String OSGI_CONFIGURATION_AREA = "osgi.configuration.area"; + static void setJaasConfiguration(URL jaasConfigurationUrl) { + try { + URIParameter uriParameter = new URIParameter(jaasConfigurationUrl.toURI()); + javax.security.auth.login.Configuration jaasConfiguration = javax.security.auth.login.Configuration + .getInstance("JavaLoginConfig", uriParameter); + javax.security.auth.login.Configuration.setConfiguration(jaasConfiguration); + } catch (Exception e) { + throw new CmsException("Cannot set configuration " + jaasConfigurationUrl, e); + } + } + static Dictionary asDictionary(Properties props) { Hashtable hashtable = new Hashtable(); for (Object key : props.keySet()) { @@ -109,17 +122,17 @@ class KernelUtils implements KernelConstants { } // Security -// static Subject anonymousLogin() { -// Subject subject = new Subject(); -// LoginContext lc; -// try { -// lc = new LoginContext(NodeConstants.LOGIN_CONTEXT_USER, subject); -// lc.login(); -// return subject; -// } catch (LoginException e) { -// throw new CmsException("Cannot login as anonymous", e); -// } -// } + // static Subject anonymousLogin() { + // Subject subject = new Subject(); + // LoginContext lc; + // try { + // lc = new LoginContext(NodeConstants.LOGIN_CONTEXT_USER, subject); + // lc.login(); + // return subject; + // } catch (LoginException e) { + // throw new CmsException("Cannot login as anonymous", e); + // } + // } static void logFrameworkProperties(Log log) { BundleContext bc = getBundleContext();