X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Finternal%2Fkernel%2FInitUtils.java;h=045130ecbc63da7501eca8df75416fca06029d86;hb=d9ff37f84e799028a1a0300850eccae77ced2024;hp=8a22b480f0106f22861f4bfe2a63695ef54054d0;hpb=e61a7a2dbff5e17fbf1c6c8bbd7fa687935d2897;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/internal/kernel/InitUtils.java b/org.argeo.cms/src/org/argeo/cms/internal/kernel/InitUtils.java index 8a22b480f..045130ecb 100644 --- a/org.argeo.cms/src/org/argeo/cms/internal/kernel/InitUtils.java +++ b/org.argeo.cms/src/org/argeo/cms/internal/kernel/InitUtils.java @@ -68,6 +68,8 @@ class InitUtils { /// TODO make it more generic String httpHost = getFrameworkProp(HttpConstants.JETTY_PROPERTY_PREFIX + HttpConstants.HTTP_HOST); String httpsHost = getFrameworkProp(HttpConstants.JETTY_PROPERTY_PREFIX + HttpConstants.HTTPS_HOST); + String webSocketEnabled = getFrameworkProp( + HttpConstants.JETTY_PROPERTY_PREFIX + HttpConstants.WEB_SOCKET_ENABLED); final Hashtable props = new Hashtable(); // try { @@ -90,12 +92,21 @@ class InitUtils { props.put(HttpConstants.SSL_KEYSTORE, keyStorePath.toString()); props.put(HttpConstants.SSL_PASSWORD, keyStorePassword); props.put(HttpConstants.SSL_WANTCLIENTAUTH, true); + String needClientAuth = getFrameworkProp( + HttpConstants.JETTY_PROPERTY_PREFIX + HttpConstants.SSL_NEEDCLIENTAUTH); + if (needClientAuth != null) { + props.put(HttpConstants.SSL_NEEDCLIENTAUTH, Boolean.parseBoolean(needClientAuth)); + } } if (httpHost != null) props.put(HttpConstants.HTTP_HOST, httpHost); if (httpsHost != null) props.put(HttpConstants.HTTPS_HOST, httpHost); + if (webSocketEnabled != null) + if (webSocketEnabled.equals("true")) + props.put(HttpConstants.WEB_SOCKET_ENABLED, true); + props.put(NodeConstants.CN, NodeConstants.DEFAULT); } return props; @@ -123,6 +134,23 @@ class InitUtils { } uris.add(nodeRolesUri); + // node tokens + String nodeTokensUri = getFrameworkProp(NodeConstants.TOKENS_URI); + String baseNodeTokensDn = NodeConstants.TOKENS_BASEDN; + if (nodeTokensUri == null) { + nodeTokensUri = baseNodeTokensDn + ".ldif"; + File nodeRolesFile = new File(nodeBaseDir, nodeRolesUri); + if (!nodeRolesFile.exists()) + try { + FileUtils.copyInputStreamToFile(InitUtils.class.getResourceAsStream(baseNodeTokensDn + ".ldif"), + nodeRolesFile); + } catch (IOException e) { + throw new CmsException("Cannot copy demo resource", e); + } + // nodeRolesUri = nodeRolesFile.toURI().toString(); + } + uris.add(nodeTokensUri); + // Business roles String userAdminUris = getFrameworkProp(NodeConstants.USERADMIN_URIS); if (userAdminUris == null) {