X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FActivator.java;h=11bb9f595b862916b17d121d82a086222284c809;hb=ebd927da42511bb5959000c50a39974c6cfa5f49;hp=73c530c82d63d1e0ec31e32cb88da7b47a80157a;hpb=cf53e939cabed54ee2a3074afcf22417fbdf364d;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/Activator.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/Activator.java index 73c530c82..11bb9f595 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/Activator.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/Activator.java @@ -1,12 +1,16 @@ package org.argeo.cms.internal.kernel; +import java.awt.image.Kernel; import java.io.IOException; +import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; import java.util.Dictionary; import java.util.List; import java.util.Locale; +import javax.security.auth.login.Configuration; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.argeo.cms.CmsException; @@ -22,6 +26,7 @@ import org.osgi.framework.BundleContext; import org.osgi.framework.Constants; import org.osgi.framework.ServiceReference; import org.osgi.service.log.LogReaderService; +import org.osgi.service.useradmin.UserAdmin; /** * Activates the {@link Kernel} from the provided {@link BundleContext}. Gives @@ -33,11 +38,11 @@ public class Activator implements BundleActivator { private static Activator instance; private BundleContext bc; - private CmsSecurity nodeSecurity; + // private CmsSecurity nodeSecurity; private LogReaderService logReaderService; // private ConfigurationAdmin configurationAdmin; - private NodeLogger logger; +// private NodeLogger logger; private CmsState nodeState; private CmsDeployment nodeDeployment; private CmsInstance nodeInstance; @@ -50,7 +55,8 @@ public class Activator implements BundleActivator { // this.configurationAdmin = getService(ConfigurationAdmin.class); try { - nodeSecurity = new CmsSecurity(); + // nodeSecurity = new CmsSecurity(); + initSecurity(); initArgeoLogger(); initNode(); } catch (Exception e) { @@ -59,9 +65,21 @@ public class Activator implements BundleActivator { } } + private void initSecurity() { + if (System.getProperty(KernelConstants.JAAS_CONFIG_PROP) == null) { + String jaasConfig = KernelConstants.JAAS_CONFIG; + URL url = getClass().getClassLoader().getResource(jaasConfig); + // System.setProperty(KernelConstants.JAAS_CONFIG_PROP, + // url.toExternalForm()); + KernelUtils.setJaasConfiguration(url); + } + // explicitly load JAAS configuration + Configuration.getConfiguration(); + } + private void initArgeoLogger() { - logger = new NodeLogger(logReaderService); - bc.registerService(ArgeoLogger.class, logger, null); +// logger = new NodeLogger(logReaderService); +// bc.registerService(ArgeoLogger.class, logger, null); } private void initNode() throws IOException { @@ -112,12 +130,14 @@ public class Activator implements BundleActivator { } public static GSSCredential getAcceptorCredentials() { - return getCmsSecurity().getServerCredentials(); + ServiceReference sr = instance.bc.getServiceReference(UserAdmin.class); + NodeUserAdmin userAdmin = (NodeUserAdmin) instance.bc.getService(sr); + return userAdmin.getAcceptorCredentials(); } - static CmsSecurity getCmsSecurity() { - return instance.nodeSecurity; - } + // static CmsSecurity getCmsSecurity() { + // return instance.nodeSecurity; + // } public String[] getLocales() { // TODO optimize?