Change of mediacube-auth.properties for mediacube.json, setting of visibility of...
authorDénes Horváth <USER\denes.horvath>
Tue, 24 Sep 2019 12:45:30 +0000 (12:45 +0000)
committerDénes Horváth <USER\denes.horvath>
Tue, 24 Sep 2019 12:45:30 +0000 (12:45 +0000)
git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31543

server/-configuration/mediacube.json
server/-configuration/run-mediacube-server.launch
server/user.jobengine.osgi.server/pages/joblist.zul
server/user.jobengine.osgi.server/pages/menu.zul
server/user.jobengine.osgi.server/pages/searchitems.zul
server/user.jobengine.osgi.server/src/user/jobengine/zk/model/MediaCubeAuthentication.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/util/LDAPUserHandler.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/util/LocalUserHandler.java
server/user.jobengine.osgi.server/src/user/jobengine/zk/util/SessionUtil.java

index 4c07e5ba662cc305f002943200a5a3df283ec16a..427af37717692b248271d0d8774945f12195f5ef 100644 (file)
                                "email" : "vasary@elgekko.net"\r
                        }\r
                ],\r
-               "localAdmins": "root",\r
-               "localSubmitters": "lebony",\r
-               "localEditors": "editor"\r
+               "localAdmins": [\r
+                       "root",\r
+                       "admin"\r
+               ],\r
+               "localSubmitters": [\r
+                       "lebony",\r
+                       "xyz"\r
+               ],\r
+               "localEditors": [\r
+                       "editor"\r
+               ]\r
        }\r
 }\r
 \r
index b801173e5f5cae82861154580d143096a82674fb..6cb781e010fb33b731d53469cd617afe0bc82367 100644 (file)
 <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>\r
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -console"/>\r
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>\r
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.executors/jobtemplates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://10.228.198.1:50000/mediaarc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=password&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/&quot;&#13;&#10;-Djetty.home=&quot;${workspace_loc:}/-configuration/jetty&quot;&#13;&#10;-Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml&#13;&#10;-Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty&#13;&#10;-Djava.io.tmpdir=c:\temp\jetty&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.11/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://10.228.198.1:50000/mccache:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=password&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Djobengine.maestro.config=&quot;${workspace_loc}/-configuration/maestro.json&quot;&#13;&#10;-Djobengine.nexio.db.url=jdbc:sqlserver://10.10.1.59:1433;databaseName=NXDB;&#13;&#10;-Djobengine.nexio.db.user=sa&#13;&#10;-Djobengine.nexio.db.password=resolve&#13;&#10;-Djobengine.planair.db.url=jdbc:sqlserver://10.10.1.45;databaseName=PA_Echo;&#13;&#10;-Djobengine.planair.db.user=MAM&#13;&#10;-Djobengine.planair.db.password=Echotv.hu&#13;&#10;-Dnexio.host=192.168.0.12&#13;&#10;-Djobengine.nexio.name=testnexioclips&#13;&#10;-Dnexio.useMOSGateway=false&#13;&#10;-Dnexio.disable=true&#13;&#10;-Djobengine.octopus.rundowns.name=rundowns181026&#13;&#10;-Djobengine.octopus.storyfolders.name=storyfolders181026&#13;&#10;-Djobengine.octopus.stories.name=stories181026&#13;&#10;-Dmediacube.auth.location=&quot;${workspace_loc}/-configuration/mediacube-auth.properties&quot;"/>\r
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Djavax.ws.rs.ext.RuntimeDelegate=org.jboss.resteasy.spi.ResteasyProviderFactory&#13;&#10;-Dorg.eclipse.epp.logging.aeri.skipReports=true &#13;&#10;-Declipse.ignoreApp=true &#13;&#10;-Dosgi.noShutdown=true&#13;&#10;-Djobengine.jobsteps.root=&quot;${workspace_loc}/user.jobengine.executors/config&quot;&#13;&#10;-Djobengine.jobtemplates.root=&quot;${workspace_loc}/user.jobengine.executors/jobtemplates&quot;&#13;&#10;-Djobengine.db.url=jdbc:db2://10.228.198.1:50000/mediaarc:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.db.user=db2admin&#13;&#10;-Djobengine.db.password=password&#13;&#10;-Djobengine.loglevel=INFO&#13;&#10;-Dlog4j.configurationFile=&quot;${workspace_loc}/-configuration/log4j2.xml&quot;&#13;&#10;-Djobengine.jobsteps.alternate.root=&quot;${workspace_loc}/user.jobengine.executors/bin/&quot;&#13;&#10;-Djetty.home=&quot;${workspace_loc:}/-configuration/jetty&quot;&#13;&#10;-Djetty.etc.config.urls=etc/user-jetty.xml,etc/user-jetty-ssl.xml,etc/user-jetty-ssl-context.xml,,etc/user-jetty-http.xml,etc/user-jetty-https.xml&#13;&#10;-Dorg.eclipse.jetty.webapp.basetempdir=c:\temp\jetty&#13;&#10;-Djava.io.tmpdir=c:\temp\jetty&#13;&#10;-Djobengine.octopus.api.address=http://10.10.1.11/api/v1&#13;&#10;-Djobengine.octopus.api.user=mam&#13;&#10;-Djobengine.octopus.api.password=napocska&#13;&#10;-Djobengine.nosql.db.url=jdbc:db2://10.228.198.1:50000/mccache:retrieveMessagesFromServerOnGetMessage=true;&#13;&#10;-Djobengine.nosql.db.user=db2admin&#13;&#10;-Djobengine.nosql.db.password=password&#13;&#10;-Djobengine.nosql.db.schema=test&#13;&#10;-Djobengine.selenio.address=http://10.10.1.71:44000/TranscodeMgrWS?wsdl&#13;&#10;-Djobengine.selenio.projectfilepath=\\10.10.1.71\Data\Blueprints\MP4_H264_AAC.zenium&#13;&#10;-Djobengine.jobscheduling.config=&quot;${workspace_loc}/-configuration/scheduledjobs.json&quot;&#13;&#10;-Djobengine.mediacube.config=&quot;${workspace_loc}/-configuration/mediacube.json&quot;&#13;&#10;-Djobengine.maestro.config=&quot;${workspace_loc}/-configuration/maestro.json&quot;&#13;&#10;-Djobengine.nexio.db.url=jdbc:sqlserver://10.10.1.59:1433;databaseName=NXDB;&#13;&#10;-Djobengine.nexio.db.user=sa&#13;&#10;-Djobengine.nexio.db.password=resolve&#13;&#10;-Djobengine.planair.db.url=jdbc:sqlserver://10.10.1.45;databaseName=PA_Echo;&#13;&#10;-Djobengine.planair.db.user=MAM&#13;&#10;-Djobengine.planair.db.password=Echotv.hu&#13;&#10;-Dnexio.host=192.168.0.12&#13;&#10;-Djobengine.nexio.name=testnexioclips&#13;&#10;-Dnexio.useMOSGateway=false&#13;&#10;-Dnexio.disable=true&#13;&#10;-Dgui.statistics.disable=true&#13;&#10;-Dgui.help.disable=true&#13;&#10;-Dgui.editor.disable=true&#13;&#10;-Djobengine.octopus.rundowns.name=rundowns181026&#13;&#10;-Djobengine.octopus.storyfolders.name=storyfolders181026&#13;&#10;-Djobengine.octopus.stories.name=stories181026&#13;&#10;-Dmediacube.auth.location=&quot;${workspace_loc}/-configuration/mediacube-auth.properties&quot;"/>\r
 <stringAttribute key="pde.version" value="3.3"/>\r
 <booleanAttribute key="show_selected_only" value="false"/>\r
-<stringAttribute key="target_bundles" value="cglib@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.fasterxml.jackson.datatype.jackson-datatype-joda@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-base@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider@default:default,com.fasterxml.jackson.module.jackson-module-jaxb-annotations,com.ibm.db2jcc4@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,com.sun.el.javax.el@default:default,commons-logging,humble.video.noarch@default:default,humble.video.windows@default:default,javax.annotation-api@default:default,javax.inject,javax.mail@default:default,javax.servlet-api@default:default,javax.servlet.jsp-api@default:default,javax.validation.api,javax.ws.rs-api@default:default,jcifs@default:default,joda-time@default:default,org.apache.aries.spifly.dynamic.bundle@default:default,org.apache.aries.util@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.collections@default:default,org.apache.commons.digester@default:default,org.apache.commons.io@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.jasper.glassfish@default:default,org.apache.logging.log4j.api@1:true,org.apache.logging.log4j.core@default:default,org.apache.logging.log4j.slf4j-impl@default:default,org.apache.servicemix.bundles.quartz@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.util@default:default,org.eclipse.jetty.client,org.eclipse.jetty.deploy@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.jsp@default:default,org.eclipse.jetty.osgi.boot.jsp@default:false,org.eclipse.jetty.osgi.boot@default:true,org.eclipse.jetty.schemas@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.websocket.server@default:default,org.eclipse.jetty.websocket.servlet@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.jboss.resteasy.client@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.junit@default:default,org.mybatis.mybatis@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,slf4j.api@default:default,slf4j.simple@default:false"/>\r
+<stringAttribute key="target_bundles" value="cglib@default:default,com.fasterxml.jackson.core.jackson-annotations@default:default,com.fasterxml.jackson.core.jackson-core@default:default,com.fasterxml.jackson.core.jackson-databind@default:default,com.fasterxml.jackson.datatype.jackson-datatype-joda@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-base@default:default,com.fasterxml.jackson.jaxrs.jackson-jaxrs-json-provider@default:default,com.ibm.db2jcc4@default:default,com.ibm.nosql@default:default,com.microsoft.sqlserver.sqljdbc@default:default,commons-logging@default:default,humble.video.noarch@default:default,humble.video.windows@default:default,javax.annotation-api@default:default,javax.mail@default:default,javax.servlet-api@default:default,javax.ws.rs-api@default:default,jcifs@default:default,joda-time@default:default,org.apache.aries.spifly.dynamic.bundle@default:default,org.apache.aries.util@default:default,org.apache.commons.beanutils@default:default,org.apache.commons.collections@default:default,org.apache.commons.digester@default:default,org.apache.commons.io@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging@default:default,org.apache.commons.net@default:default,org.apache.felix.gogo.command@default:default,org.apache.felix.gogo.runtime@default:default,org.apache.felix.gogo.shell@default:default,org.apache.httpcomponents.httpclient@default:default,org.apache.httpcomponents.httpcore@default:default,org.apache.logging.log4j.api@1:true,org.apache.logging.log4j.core@default:default,org.apache.logging.log4j.slf4j-impl@default:default,org.apache.servicemix.bundles.quartz@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.console@default:default,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.util@default:default,org.eclipse.jetty.client@default:default,org.eclipse.jetty.deploy@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.osgi.boot@default:true,org.eclipse.jetty.schemas@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jetty.webapp@default:default,org.eclipse.jetty.websocket.api@default:default,org.eclipse.jetty.websocket.client@default:default,org.eclipse.jetty.websocket.common@default:default,org.eclipse.jetty.websocket.server@default:default,org.eclipse.jetty.websocket.servlet@default:default,org.eclipse.jetty.xml@default:default,org.eclipse.osgi.services@default:default,org.eclipse.osgi@-1:true,org.hamcrest.core@default:default,org.jboss.resteasy.client@default:default,org.jboss.resteasy.jaxrs@default:default,org.jmock.junit4@default:default,org.jmock@default:default,org.junit@default:default,org.mybatis.mybatis@default:default,org.objectweb.asm.commons@default:default,org.objectweb.asm.tree@default:default,org.objectweb.asm@default:default,slf4j.api@default:default,slf4j.simple@default:false"/>\r
 <booleanAttribute key="tracing" value="false"/>\r
 <booleanAttribute key="useCustomFeatures" value="false"/>\r
 <booleanAttribute key="useDefaultConfigArea" value="true"/>\r
index a0a82f9448d1e72c1c779bd63c8e40ca13248811..d2f43bef9fea353b66a6496bc789b6845031ffd1 100644 (file)
@@ -23,7 +23,7 @@
                        <button label="Futtatás" onClick="@command('executeJob')" />\r
                        <button sclass="buttonboldfont" label="Leállítás" onClick="@command('shutdown')" autodisable="self" disabled="@load(jlm.shutdownDisabled)" />\r
                        <button sclass="buttonboldfont" label="Elindítás" onClick="@command('startup')" autodisable="self" disabled="@load(jlm.startupDisabled)" />\r
-                       <button sclass="buttonboldfont" label="NEXIO szinkronizálás" onClick="@command('restartNexio')" autodisable="self" />\r
+                       <button sclass="buttonboldfont" label="NEXIO szinkronizálás" onClick="@command('restartNexio')" visible="${not sessionScope.nexioDisable}" />\r
                </div>\r
 \r
 \r
index 0a15efd1910a6fbc5f990963f9e96d162351f6b0..768e7ba01a380ea813ab5fac19f57e5f171a7b06 100644 (file)
                                        <menuitem sclass="rozsda" label="Hiányzó anyagok" onClick="@command('navigate', action='missingmaterials')" disabled="${not sessionScope.userPrincipal.submitter or sessionScope.userPrincipal.anonymous}" />\r
                                </menupopup>\r
                        </menu>\r
-                       <menu sclass="whitemenu" label="Statisztikák">\r
+                       <menu sclass="whitemenu" label="Statisztikák" visible="${not sessionScope.guiStatisticsDisable}">\r
                                <menupopup>\r
                                        <menuitem sclass="rozsda" label="Folyamat tevékenységek" onClick="@command('navigate', action='statistics')" disabled="${not sessionScope.userPrincipal.admin or sessionScope.userPrincipal.anonymous}" />\r
                                        <menuitem sclass="rozsda" label="Híranyag gyártás" onClick="@command('navigate', action='newshistory')" disabled="${not sessionScope.userPrincipal.admin or sessionScope.userPrincipal.anonymous}" />\r
                                </menupopup>\r
                        </menu>\r
        \r
-                       <menu sclass="whitemenu" label="${labels.menu_help}" >\r
+                       <menu sclass="whitemenu" label="${labels.menu_help}" visible="${not sessionScope.guiHelpDisable}">\r
                                <menupopup>\r
                                        <menuitem sclass="rozsda" label="${labels.menu_content}" href="http://10.10.1.27:90/docs" target="_blank" />\r
                                        <menuitem sclass="rozsda" label="${labels.menu_version}" href="/resource/help.html" target="_blank" />\r
index ed34b545b993fbd6bd7040c95eff9ffb13c4affa..f553c7d46e867573425a9b8ba9312798fe73190d 100644 (file)
                                                                                <toolbarbutton image="/img/baseline_edit_black_18dp.png" autodisable="self" onClick="@command('openMetaDataDialog')"\r
                                                                                        disabled="@load(not sessionScope.userPrincipal.editor or sessionScope.userPrincipal.anonymous or vm.selectedObject eq null)" label="Szerkesztés" />\r
                                                                                <separator />\r
-                                                                               <toolbarbutton autodisable="self" c:onClick="pushTcIn('${arg.field}')" label="IN" />\r
-                                                                               <toolbarbutton autodisable="self" c:onClick="pushTcOut('${arg.field}')" label="OUT" />\r
+                                                                               <toolbarbutton autodisable="self" c:onClick="pushTcIn('${arg.field}')" label="IN" visible="${not sessionScope.guiEditorDisable}" />\r
+                                                                               <toolbarbutton autodisable="self" c:onClick="pushTcOut('${arg.field}')" label="OUT" visible="${not sessionScope.guiEditorDisable}" />\r
                                                                        </div>\r
                                                                </div>\r
                                                        </toolbar>\r
index 9802422d03246961d0b91479872d8b384f799fbb..0829b3cb89885493b08b25c95a50e8fa3d0354d7 100644 (file)
@@ -11,9 +11,9 @@ public class MediaCubeAuthentication {
        private List<String> adSubmitterMap;\r
        private List<String> adEditorMap;\r
        private List<MediaCubeAccount> localAccounts;\r
-       private String localAdmins;\r
-       private String localSubmitters;\r
-       private String localEditors;\r
+       private List<String> localAdmins;\r
+       private List<String> localSubmitters;\r
+       private List<String> localEditors;\r
 \r
        public List<String> getAdAdminMap() {\r
                return adAdminMap;\r
@@ -43,15 +43,15 @@ public class MediaCubeAuthentication {
                return localAccounts;\r
        }\r
 \r
-       public String getLocalAdmins() {\r
+       public List<String> getLocalAdmins() {\r
                return localAdmins;\r
        }\r
 \r
-       public String getLocalEditors() {\r
+       public List<String> getLocalEditors() {\r
                return localEditors;\r
        }\r
 \r
-       public String getLocalSubmitters() {\r
+       public List<String> getLocalSubmitters() {\r
                return localSubmitters;\r
        }\r
 \r
@@ -91,15 +91,15 @@ public class MediaCubeAuthentication {
                this.localAccounts = localAccounts;\r
        }\r
 \r
-       public void setLocalAdmins(String localAdmins) {\r
+       public void setLocalAdmins(List<String> localAdmins) {\r
                this.localAdmins = localAdmins;\r
        }\r
 \r
-       public void setLocalEditors(String localEditors) {\r
+       public void setLocalEditors(List<String> localEditors) {\r
                this.localEditors = localEditors;\r
        }\r
 \r
-       public void setLocalSubmitters(String localSubmitters) {\r
+       public void setLocalSubmitters(List<String> localSubmitters) {\r
                this.localSubmitters = localSubmitters;\r
        }\r
 \r
index 6f3c21a7b961d7bd892ee82efb38b632875b1030..93c0b278deb621992820c01b02b9bb81c32d1f29 100644 (file)
@@ -1,6 +1,5 @@
 package user.jobengine.zk.util;\r
 \r
-import java.io.FileInputStream;\r
 import java.lang.invoke.MethodHandles;\r
 import java.net.URL;\r
 import java.util.ArrayList;\r
@@ -8,7 +7,6 @@ import java.util.Arrays;
 import java.util.Hashtable;\r
 import java.util.LinkedHashSet;\r
 import java.util.List;\r
-import java.util.Properties;\r
 import java.util.Set;\r
 \r
 import javax.naming.Context;\r
@@ -25,6 +23,7 @@ import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;\r
 \r
 import user.commons.ListUtils;\r
+import user.jobengine.zk.model.MediaCubeAuthentication;\r
 \r
 public class LDAPUserHandler {\r
        private static final String OTHER_MAILBOX = "otherMailbox";\r
@@ -32,8 +31,8 @@ public class LDAPUserHandler {
        private static final String LDAP_ADDRESS = "ldap://%s:%s";\r
        private static final String AD_NONSECUREPORT = "ad_nonsecureport";\r
        private static final String AD_HOST = "ad_host";\r
-       //      private static final String TECH_ACCOUNT = "tech_account";\r
-       //      private static final String TECH_PASSWORD = "tech_password";\r
+       // private static final String TECH_ACCOUNT = "tech_account";\r
+       // private static final String TECH_PASSWORD = "tech_password";\r
        private static final String SIMPLE_AUTH = "simple";\r
        private static final String CTX_FACTORY = "com.sun.jndi.ldap.LdapCtxFactory";\r
        private static final String DOMAIN_ACCOUNT = "%s@%s";\r
@@ -44,46 +43,47 @@ public class LDAPUserHandler {
        private static final String AD_ADMIN_MAP = "ad_admin_map";\r
        private static final String AD_SUBMITTER_MAP = "ad_submitter_map";\r
        private static final String AD_EDITOR_MAP = "ad_editor_map";\r
+       private static MediaCubeAuthentication mediaCubeAuthentication;\r
 \r
        public static void main(String[] args) throws Exception {\r
-               //              Properties cfg = new Properties();\r
-               //              cfg.setProperty("ad_host", "10.10.254.11");\r
-               //              cfg.setProperty("ad_nonsecureport", "389");\r
-               //              cfg.setProperty("ad_base_dn", "DC=intra,DC=echotv,DC=hu");\r
+               // Properties cfg = new Properties();\r
+               // cfg.setProperty("ad_host", "10.10.254.11");\r
+               // cfg.setProperty("ad_nonsecureport", "389");\r
+               // cfg.setProperty("ad_base_dn", "DC=intra,DC=echotv,DC=hu");\r
 \r
-               Properties cfg = new Properties();\r
+               // Properties cfg = new Properties();\r
                URL srcLocation = MethodHandles.lookup().lookupClass().getProtectionDomain().getCodeSource().getLocation();\r
                URL location = new URL(srcLocation, "../../-configuration/mediacube-auth.properties");\r
-               cfg.load(new FileInputStream(location.toURI().getPath().toString()));\r
+               // cfg.load(new FileInputStream(location.toURI().getPath().toString()));\r
 \r
-               //LDAPHandler h = new LDAPHandler("echotest", "aA123456+", cfg);\r
-               //LDAPHandler h = new LDAPHandler("stibor.adm", "Qwer1234", cfg);\r
-               LDAPUserHandler h = new LDAPUserHandler("nagy.ilona", "k0rianDER", cfg);\r
+               // LDAPHandler h = new LDAPHandler("echotest", "aA123456+", cfg);\r
+               // LDAPHandler h = new LDAPHandler("stibor.adm", "Qwer1234", cfg);\r
+               LDAPUserHandler h = new LDAPUserHandler("nagy.ilona", "k0rianDER", mediaCubeAuthentication);\r
 \r
                UserPrincipal user = h.getUserPrincipal();\r
                System.out.println(user);\r
-               //List<String> allGroups = h.getAllGroups();\r
+               // List<String> allGroups = h.getAllGroups();\r
        }\r
 \r
-       private Properties cfg = null;\r
+       // private Properties cfg = null;\r
        private String account;\r
        private String password;\r
        private String domain;\r
 \r
-       public LDAPUserHandler(String account, String password, Properties cfg) {\r
+       public LDAPUserHandler(String account, String password, MediaCubeAuthentication mediaCubeAuthentication) {\r
                this.account = account;\r
                this.password = password;\r
-               this.domain = cfg.getProperty(AD_BASE_DN);\r
+               this.domain = mediaCubeAuthentication.getAdBaseDn();\r
                if (domain != null)\r
                        domain = domain.toLowerCase().replace("dc=", "").replace(",", ".");\r
-               this.cfg = cfg;\r
+               this.mediaCubeAuthentication = mediaCubeAuthentication;\r
        }\r
 \r
-       private boolean checkMembership(Properties cfg, String property, List<String> memberOf) {\r
-               String groupMap = cfg.getProperty(property);\r
-               if (groupMap == null)\r
+       private boolean checkMembership(List<String> property, List<String> memberOf) {\r
+               // String groupMap = cfg.getProperty(property);\r
+               if (property == null)\r
                        return false;\r
-               List<String> remains = ListUtils.intersect(Arrays.asList(groupMap.split(",")), memberOf);\r
+               List<String> remains = ListUtils.intersect(Arrays.asList(property.toString().split(",")), memberOf);\r
                return (remains.size() > 0);\r
 \r
        }\r
@@ -97,7 +97,7 @@ public class LDAPUserHandler {
                        SearchControls searchCtls = new SearchControls();\r
                        searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);\r
                        String searchFilter = "(&(objectClass=group))";\r
-                       String searchBase = cfg.getProperty(AD_BASE_DN);\r
+                       String searchBase = mediaCubeAuthentication.getAdBaseDn();\r
                        String returnedAtts[] = { "member" };\r
                        searchCtls.setReturningAttributes(returnedAtts);\r
                        answer = ctx.search(searchBase, searchFilter, searchCtls);\r
@@ -110,9 +110,9 @@ public class LDAPUserHandler {
                                result.add(groupName);\r
                                System.out.println(groupName);\r
 \r
-                               //                              List<String> parentGroups = getMemberOf(ctx, groupName);\r
-                               //                              for (String group : parentGroups)\r
-                               //                                      System.out.println("\t" + group);\r
+                               // List<String> parentGroups = getMemberOf(ctx, groupName);\r
+                               // for (String group : parentGroups)\r
+                               // System.out.println("\t" + group);\r
 \r
                        }\r
 \r
@@ -131,7 +131,7 @@ public class LDAPUserHandler {
 \r
        private LdapContext getContext(String account, String password) throws Exception {\r
                Hashtable<String, String> env = new Hashtable<>();\r
-               String ldapURL = String.format(LDAP_ADDRESS, cfg.getProperty(AD_HOST), cfg.getProperty(AD_NONSECUREPORT));\r
+               String ldapURL = String.format(LDAP_ADDRESS, mediaCubeAuthentication.getAdHost(), mediaCubeAuthentication.getAdNonSecurePort());\r
                env.put(Context.PROVIDER_URL, ldapURL);\r
                env.put(Context.INITIAL_CONTEXT_FACTORY, CTX_FACTORY);\r
                env.put(Context.SECURITY_AUTHENTICATION, SIMPLE_AUTH);\r
@@ -148,7 +148,7 @@ public class LDAPUserHandler {
                        SearchControls searchCtls = new SearchControls();\r
                        searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);\r
                        String searchFilter = String.format("(&(CN=%s))", cn);\r
-                       String searchBase = cfg.getProperty("ad_base_dn");\r
+                       String searchBase = mediaCubeAuthentication.getAdBaseDn();\r
                        answer = ctx.search(searchBase, searchFilter, searchCtls);\r
                        if (answer.hasMoreElements()) {\r
                                SearchResult sr = answer.next();\r
@@ -192,7 +192,7 @@ public class LDAPUserHandler {
                        SearchControls searchCtls = new SearchControls();\r
                        searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);\r
                        String searchFilter = String.format("(&(sAMAccountName=%s))", account);\r
-                       String searchBase = cfg.getProperty(AD_BASE_DN);\r
+                       String searchBase = mediaCubeAuthentication.getAdBaseDn();\r
                        answer = ctx.search(searchBase, searchFilter, searchCtls);\r
                        if (answer.hasMoreElements()) {\r
                                result = new UserPrincipal(account);\r
@@ -244,21 +244,21 @@ public class LDAPUserHandler {
                                memberOf = ListUtils.distinctUnion(memberOf, parentGroups);\r
                        }\r
                }\r
-               updateMembership(userPrincipal, memberOf, cfg);\r
+               updateMembership(userPrincipal, memberOf, mediaCubeAuthentication);\r
        }\r
 \r
-       public void updateMembership(UserPrincipal userPrincipal, List<String> memberOf, Properties cfg) {\r
+       public void updateMembership(UserPrincipal userPrincipal, List<String> memberOf, MediaCubeAuthentication mediaCubeAuthentication) {\r
                if (memberOf == null)\r
                        return;\r
 \r
-               if (checkMembership(cfg, AD_ADMIN_MAP, memberOf)) {\r
+               if (checkMembership(mediaCubeAuthentication.getAdAdminMap(), memberOf)) {\r
                        userPrincipal.setAdmin(true);\r
                        userPrincipal.setSubmitter(true);\r
                        userPrincipal.setEditor(true);\r
                }\r
-               if (checkMembership(cfg, AD_SUBMITTER_MAP, memberOf))\r
+               if (checkMembership(mediaCubeAuthentication.getAdSubmitterMap(), memberOf))\r
                        userPrincipal.setSubmitter(true);\r
-               if (checkMembership(cfg, AD_EDITOR_MAP, memberOf))\r
+               if (checkMembership(mediaCubeAuthentication.getAdEditorMap(), memberOf))\r
                        userPrincipal.setEditor(true);\r
        }\r
 \r
index 84858f83eefb8a1b409157b1011fa0028ef9ead2..973bb43a998be15e9f312434b692dec57ba30e0b 100644 (file)
@@ -1,55 +1,53 @@
 package user.jobengine.zk.util;\r
 \r
-import java.util.Arrays;\r
 import java.util.List;\r
-import java.util.Properties;\r
 \r
 import org.apache.commons.lang.StringUtils;\r
 \r
+import user.jobengine.zk.model.MediaCubeAccount;\r
+import user.jobengine.zk.model.MediaCubeAuthentication;\r
+\r
 public class LocalUserHandler {\r
-       private static final String LOCAL_ACCOUNTS = "local_accounts";\r
-       private static final String LOCAL_ADMINS = "local_admins";\r
-       private static final String LOCAL_SUBMITTERS = "local_submitters";\r
-       private static final String LOCAL_EDITORS = "local_submitters";\r
+       // private static final String LOCAL_ACCOUNTS = "local_accounts";\r
+       // private static final String LOCAL_ADMINS = "local_admins";\r
+       // private static final String LOCAL_SUBMITTERS = "local_submitters";\r
+       // private static final String LOCAL_EDITORS = "local_submitters";\r
+       private MediaCubeAuthentication mediaCubeAuthentication;\r
        private String account;\r
        private String password;\r
-       private Properties cfg;\r
+       // private Properties cfg;\r
 \r
-       public LocalUserHandler(String account, String password, Properties cfg) {\r
+       public LocalUserHandler(String account, String password, MediaCubeAuthentication mediaCubeAuthentication) {\r
                this.account = account;\r
                this.password = password;\r
-               this.cfg = cfg;\r
+               this.mediaCubeAuthentication = mediaCubeAuthentication;\r
        }\r
 \r
-       private boolean authenticateLocal(String account, String password, String users) {\r
+       private boolean authenticateLocal(String account, String password, MediaCubeAccount user) {\r
                if (StringUtils.isBlank(account) || account.length() < 3)\r
                        return false;\r
                if (StringUtils.isBlank(password) || password.length() < 3)\r
                        return false;\r
-               if (StringUtils.isBlank(users) || users.length() < 7)\r
-                       return false;\r
 \r
-               return users.contains(String.format("%s:%s", account, password));\r
+               return (account.equals(user.getUser()) && password.equals(user.getPassword()));\r
        }\r
 \r
        public UserPrincipal getUserPrincipal() {\r
-               String users = cfg.getProperty(LOCAL_ACCOUNTS);\r
+               // String users = cfg.getProperty(LOCAL_ACCOUNTS);\r
                UserPrincipal result = null;\r
-               String[] userList = users.split(",");\r
-               for (String user : userList) {\r
-                       if (authenticateLocal(account, password, user))\r
+               List<MediaCubeAccount> userList = mediaCubeAuthentication.getLocalAccounts();\r
+               for (MediaCubeAccount user : userList) {\r
+                       if (authenticateLocal(account, password, user)) {\r
                                result = new UserPrincipal(account);\r
-                       else\r
-                               continue;\r
-                       String[] userInfo = user.split(":");\r
-                       if (userInfo.length > 2)\r
-                               result.setEmail(userInfo[2]);\r
+                               result.setEmail(user.getEmail());\r
+                               break;\r
+                       }\r
                }\r
 \r
                if (result != null) {\r
-                       boolean isAdmin = isMemberOf(account, cfg.getProperty(LOCAL_ADMINS));\r
-                       boolean isSubmitter = isMemberOf(account, cfg.getProperty(LOCAL_SUBMITTERS));\r
-                       boolean isEditor = isMemberOf(account, cfg.getProperty(LOCAL_EDITORS));\r
+                       boolean isAdmin = isMemberOf(account, mediaCubeAuthentication.getLocalAdmins());\r
+                       boolean isSubmitter = isMemberOf(account, mediaCubeAuthentication.getLocalSubmitters());\r
+                       boolean isEditor = isMemberOf(account, mediaCubeAuthentication.getLocalEditors());\r
                        result.setAdmin(isAdmin);\r
                        if (isAdmin || isSubmitter)\r
                                result.setSubmitter(true);\r
@@ -59,9 +57,11 @@ public class LocalUserHandler {
                return result;\r
        }\r
 \r
-       private boolean isMemberOf(String account, String groupMembers) {\r
-               List<String> groupMemberList = Arrays.asList(groupMembers.split(","));\r
-               return groupMemberList.contains(account);\r
+       private boolean isMemberOf(String account, List<String> groupMembers) {\r
+               if (groupMembers == null || groupMembers.isEmpty())\r
+                       return false;\r
+\r
+               return groupMembers.contains(account);\r
        }\r
 \r
 }\r
index f1e58d646c0a17fcf8d46b774b2d527c1161bca6..1e8ae0567b215a5796b35defac2d771e77a19272 100644 (file)
@@ -46,13 +46,20 @@ public class SessionUtil {
        public static final String JOBLISTENER = "joblistener";\r
        public static final String MENUMODEL = "menuModel";\r
        public static final String HISTORY = "history";\r
+       public static final String NEXIO_DISABLE = "nexio.disable";\r
+       public static final String GUI_STAT_DISABLE = "gui.statistics.disable";\r
+       public static final String GUI_HELP_DISABLE = "gui.help.disable";\r
+       public static final String GUI_EDITOR_DISABLE = "gui.editor.disable";\r
+       private static MediaCubeConfig mediaCubeConfig = new MediaCubeConfig();\r
 \r
        public static boolean authenticate(String account, String password) {\r
                Properties cfg = getConfiguration();\r
-               LocalUserHandler localUserHandler = new LocalUserHandler(account, password, cfg);\r
+               // MediaCubeConfig mediaCubeConfig = getMediaCubeConfig();\r
+               LocalUserHandler localUserHandler = new LocalUserHandler(account, password, mediaCubeConfig.getAuthentication());\r
                UserPrincipal userPrincipal = localUserHandler.getUserPrincipal();\r
+               // Object nexioStatus = System.getProperty(NEXIO);\r
                if (userPrincipal == null) {\r
-                       LDAPUserHandler ldapUserHandler = new LDAPUserHandler(account, password, cfg);\r
+                       LDAPUserHandler ldapUserHandler = new LDAPUserHandler(account, password, mediaCubeConfig.getAuthentication());\r
                        userPrincipal = ldapUserHandler.getUserPrincipal();\r
                }\r
 \r
@@ -60,6 +67,30 @@ public class SessionUtil {
                        return false;\r
 \r
                setAttribute(USERPRINCIPAL, userPrincipal);\r
+               try {\r
+                       setAttribute("nexioDisable", Boolean.parseBoolean(System.getProperty(NEXIO_DISABLE)));\r
+               } catch (Exception e) {\r
+                       logger.catching(e);\r
+               }\r
+\r
+               try {\r
+                       setAttribute("guiStatisticsDisable", Boolean.parseBoolean(System.getProperty(GUI_STAT_DISABLE)));\r
+               } catch (Exception e) {\r
+                       logger.catching(e);\r
+               }\r
+\r
+               try {\r
+                       setAttribute("guiHelpDisable", Boolean.parseBoolean(System.getProperty(GUI_HELP_DISABLE)));\r
+               } catch (Exception e) {\r
+                       logger.catching(e);\r
+               }\r
+\r
+               try {\r
+                       setAttribute("guiEditorDisable", Boolean.parseBoolean(System.getProperty(GUI_EDITOR_DISABLE)));\r
+               } catch (Exception e) {\r
+                       logger.catching(e);\r
+               }\r
+\r
                return true;\r
        }\r
 \r
@@ -79,7 +110,8 @@ public class SessionUtil {
        }\r
 \r
        static public Object getAttribute(String name) {\r
-               // HttpSession session = (HttpSession) (Executions.getCurrent()).getDesktop().getSession().getNativeSession();\r
+               // HttpSession session = (HttpSession)\r
+               // (Executions.getCurrent()).getDesktop().getSession().getNativeSession();\r
                Session zkSession = Sessions.getCurrent();\r
                if (zkSession == null)\r
                        return null;\r
@@ -91,7 +123,8 @@ public class SessionUtil {
 \r
        private static Properties getConfiguration() {\r
 \r
-               MediaCubeConfig mediaCubeConfig = getMediaCubeConfig();\r
+               mediaCubeConfig = getMediaCubeConfig();\r
+               // setMediaCubeAuthentication(mediaCubeConfig.getAuthentication());\r
                Properties cfg = new Properties();\r
                try (InputStream is = new FileInputStream(System.getProperty(AUTH_LOCATION))) {\r
                        cfg.load(is);\r
@@ -238,6 +271,11 @@ public class SessionUtil {
        public static void logout() {\r
                setAttribute(USERPRINCIPAL, null);\r
                setAttribute(HISTORY, null);\r
+               setAttribute(NEXIO_DISABLE, null);\r
+               setAttribute(GUI_STAT_DISABLE, null);\r
+               setAttribute(GUI_HELP_DISABLE, null);\r
+               setAttribute(GUI_EDITOR_DISABLE, null);\r
+\r
                setAttribute(IndexModel.class.getCanonicalName(), null);\r
                cleanup();\r
        }\r
@@ -320,7 +358,8 @@ public class SessionUtil {
        }\r
 \r
        static public void setAttribute(String name, Object obj) {\r
-               // HttpSession session = (HttpSession) (Executions.getCurrent()).getDesktop().getSession().getNativeSession();\r
+               // HttpSession session = (HttpSession)\r
+               // (Executions.getCurrent()).getDesktop().getSession().getNativeSession();\r
                Session zkSession = Sessions.getCurrent();\r
                if (zkSession == null)\r
                        return;\r
@@ -330,5 +369,4 @@ public class SessionUtil {
                if (session != null)\r
                        session.setAttribute(name, obj);\r
        }\r
-\r
 }
\ No newline at end of file