X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FActivator.java;h=73c530c82d63d1e0ec31e32cb88da7b47a80157a;hb=baccdf322cf7c6dda7b61f68d3a873be86c3089d;hp=51a4cc7a55834a42951bd71671fbcdac32ce96b7;hpb=a2ad417ed1d0219ac29d70ae985939764c13ce38;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 51a4cc7a5..73c530c82 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,15 +1,14 @@ package org.argeo.cms.internal.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; import org.argeo.node.ArgeoLogger; import org.argeo.node.NodeConstants; @@ -17,6 +16,7 @@ import org.argeo.node.NodeDeployment; import org.argeo.node.NodeInstance; import org.argeo.node.NodeState; import org.argeo.util.LangUtils; +import org.ietf.jgss.GSSCredential; import org.osgi.framework.BundleActivator; import org.osgi.framework.BundleContext; import org.osgi.framework.Constants; @@ -28,9 +28,12 @@ import org.osgi.service.log.LogReaderService; * access to kernel information for the rest of the bundle (and only it) */ public class Activator implements BundleActivator { + private final static Log log = LogFactory.getLog(Activator.class); + private static Activator instance; private BundleContext bc; + private CmsSecurity nodeSecurity; private LogReaderService logReaderService; // private ConfigurationAdmin configurationAdmin; @@ -47,22 +50,15 @@ public class Activator implements BundleActivator { // this.configurationAdmin = getService(ConfigurationAdmin.class); try { - initSecurity();// must be first + nodeSecurity = new CmsSecurity(); initArgeoLogger(); initNode(); } catch (Exception e) { - e.printStackTrace(); - throw new CmsException("Cannot initialize node", e); + log.error("## FATAL: CMS activator failed", e); + // throw new CmsException("Cannot initialize node", e); } } - private void initSecurity() { - URL url = getClass().getClassLoader().getResource(KernelConstants.JAAS_CONFIG); -// URL url = getClass().getClassLoader().getResource(KernelConstants.JAAS_CONFIG_IPA); - System.setProperty("java.security.auth.login.config", url.toExternalForm()); - Configuration.getConfiguration(); - } - private void initArgeoLogger() { logger = new NodeLogger(logReaderService); bc.registerService(ArgeoLogger.class, logger, null); @@ -115,6 +111,14 @@ public class Activator implements BundleActivator { return instance.nodeState; } + public static GSSCredential getAcceptorCredentials() { + return getCmsSecurity().getServerCredentials(); + } + + static CmsSecurity getCmsSecurity() { + return instance.nodeSecurity; + } + public String[] getLocales() { // TODO optimize? List locales = getNodeState().getLocales();