X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FActivator.java;h=e5930303a076ade9b77a4301ceccd0e8f8699b43;hb=a9731453273884138ca48036fe6fe49da729c49b;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..e5930303a 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,7 +38,7 @@ public class Activator implements BundleActivator { private static Activator instance; private BundleContext bc; - private CmsSecurity nodeSecurity; + // private CmsSecurity nodeSecurity; private LogReaderService logReaderService; // private ConfigurationAdmin configurationAdmin; @@ -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,6 +65,16 @@ 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()); + } + // explicitly load JAAS configuration + Configuration.getConfiguration(); + } + private void initArgeoLogger() { logger = new NodeLogger(logReaderService); bc.registerService(ArgeoLogger.class, logger, null); @@ -112,12 +128,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?