• OpenKm con ldap en ubuntu

  • Problemas con la instalación de OpenKM? No problemo, la solución está más cerca de lo que piensas.
Problemas con la instalación de OpenKM? No problemo, la solución está más cerca de lo que piensas.
Forum rules: Por favor, antes de preguntar algo consulta el wiki de documentación o utiliza la función de búsqueda del foro. Recuerda que no tenemos una bola de cristal ni poderes mentales, o sea que que para informar sobre un error es necesario que nos indiques tanto la versión de OpenKM que usas como la del navegador y sistema operativo. Para más información consulta Cómo informar de fallos de forma efectiva.
 #3311  by bateman
 
Hola,
quiero instalar OpenKm con ldap y no hay manera de autenticar a los usuarios. El servidor ldap funciona porque logueo a los usuarios en los sistemas contra este servidor. Esta organizado en dos unidades organizativas, una para los usuarios(ou=People) y otra para los grupos(ou=Group).

He creado en los grupos uno llamado UserRol y he añadido los usuarios que necesitan acceder al sistema pero cuando intento hacer login me da Authentication error.

Despues de mirar por los foros todos los posts que he visto de ldap no he sacado nada en claro, este es el estado de la configuración actual en login-config.xml:


<application-policy name=\"OpenKM\">
<authentication>
<login-module code=\"org.jboss.security.auth.spi.LdapExtLoginModule\" flag=\"required\" >
<module-option name=\"java.naming.provider.url\">ldap://server.lautech.net:389</module-option>
<module-option name=\"bindDN\">cn=admin,dc=lautech,dc=net</module-option>
<module-option name=\"java.naming.security.authentication\">simple</module-option>
<module-option name=\"bindCredential\">admin</module-option>
<module-option name=\"baseCtxDN\">dc=lautech,dc=net</module-option>
<module-option name=\"baseFilter\">(sAMAccountName={0})</module-option>
<module-option name=\"rolesCtxDN\">dc=lautech,dc=net</module-option>
<module-option name=\"roleFilter\">(sAMAccountName={0})</module-option>
<module-option name=\"roleAttributeIsDN\">true</module-option>
<module-option name=\"roleAttributeID\">MemberOf</module-option>
<module-option name=\"roleNameAttributeID\">cn</module-option>
<module-option name=\"roleRecursion\">-1</module-option>
<module-option name=\"searchTimeLimit\">5000</module-option>
<module-option name=\"searchScope\">SUBTREE_SCOPE</module-option>
<module-option name=\"defaultRole\">UserRol</module-option>
</login-module>
</authentication>
</application-policy>


El error que deja en el server.log es:

DEBUG [org.jboss.security.auth.spi.LdapExtLoginModule] Bad password for username=bateman
javax.naming.NamingException: Search of baseDN(dc=lautech,dc=net) found no matches
at org.jboss.security.auth.spi.LdapExtLoginModule.bindDNAuthentication(LdapExtLoginModule.java:387)
at org.jboss.security.auth.spi.LdapExtLoginModule.createLdapInitContext(LdapExtLoginModule.java:344)
at org.jboss.security.auth.spi.LdapExtLoginModule.validatePassword(LdapExtLoginModule.java:232)
at org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:210)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.security.auth.login.LoginContext.invoke(LoginContext.java:769)
at javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
at javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
at javax.security.auth.login.LoginContext.login(LoginContext.java:579)
at org.jboss.security.plugins.JaasSecurityManager.defaultLogin(JaasSecurityManager.java:603)
at org.jboss.security.plugins.JaasSecurityManager.authenticate(JaasSecurityManager.java:537)
at org.jboss.security.plugins.JaasSecurityManager.isValid(JaasSecurityManager.java:344)
at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.authenticate(JBossSecurityMgrRealm.java:491)
at org.apache.catalina.authenticator.FormAuthenticator.authenticate(FormAuthenticator.java:257)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:416)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:619)

Gracias por vuestra ayuda,
un saludo.
 #3313  by bateman
 
ok. ya he solucionado en parte el tema del ldap, consigo entrar con mi usuario, pero no consigo entrar como administrador, he probado:

admin/admin - Admin/admin - okmAdmin/admin y system/admin

este ultimo lo he creado en el arbol ldap en ou=People y le he añadido a los grupos AdminRol y UserRol. Es el único con el que consigo loguearme y al iniciar sesión me dice que ya estoy logueado.

Si entro como usuario normal me da algún error, pero aún no he configurado el tema del principal adaptor, así que supongo que será normal. De todas formas no puedo subir ningún fichero y eso no se si lo es. El error es:

(al entrar)
OKM-002001(GetDocumentChilds): Error interno del repositorio

failed to resolve name of 28d58fa9-d9d3-40c3-bb68-a12e613994fa

(al subir un fichero)
OKM-002001(GetDocumentChilds): Error interno del repositorio

failed to resolve name of 257668a5-9772-4b9c-9c9a-c3a79ba764ea


La configuración del ldap tal y como lo he dejado:

<application-policy name=\"OpenKM\">
<authentication>
<login-module code=\"org.jboss.security.auth.spi.LdapExtLoginModule\" flag=\"required\" >
<module-option name=\"java.naming.provider.url\">ldap://server.lautech.net:389</module-option>
<module-option name=\"bindDN\">cn=admin,dc=lautech,dc=net</module-option>
<module-option name=\"java.naming.security.authentication\">simple</module-option>
<module-option name=\"bindCredential\">password</module-option>
<module-option name=\"baseCtxDN\">ou=People,dc=lautech,dc=net</module-option>
<module-option name=\"baseFilter\">(uid={0})</module-option>
<module-option name=\"rolesCtxDN\">ou=Group,dc=lautech,dc=net</module-option>
<module-option name=\"roleFilter\">(memberUID={0})</module-option>
<!-- <module-option name=\"roleAttributeIsDN\">true</module-option> -->
<module-option name=\"roleAttributeID\">cn</module-option>
<!-- <module-option name=\"roleNameAttributeID\">cn</module-option> -->
<module-option name=\"roleRecursion\">-1</module-option>
<module-option name=\"searchTimeLimit\">5000</module-option>
<module-option name=\"searchScope\">SUBTREE_SCOPE</module-option>
<module-option name=\"defaultRole\">UserRol</module-option>
</login-module>
</authentication>
</application-policy>
 #3318  by bateman
 
ok. solucionados ambos errores.

para el asunto del administrador he cambiado el nombre en el ldap de system a admin y ya consigo loguearme.

para lo otro el tema estaba en el repository.xml que tenía un \"_\" de más.

el problema que me surge ahora es que no se como meterle mano al tema del PrincipalAdaptor para que me salgan los usuarios bien en administración. Sería de agradecer algo de información.

un saludo.
 #3322  by jllort
 
En uno de los post del foro, mira aquí, hay una clase entera con todos sus metodos que conecta con el principal adapter. Para la versión 4 - que ya tenemos hecha - simplemente configurando unos datos mínimos en el OpenKM.cfg ya te conectará directamente para sacar los usuarios, etc...
 #3323  by bateman
 
Hola jllort,
para modificar esa clase que hace falta? Porque creando una clase nueva y metiendola a mano en el .war de dentro del .ear me saca un error en el server.log:

20:24:01,975 ERROR [OKMAuthServlet] es.git.openkm.core.principal.LdapPrincipalAdapter
es.git.openkm.core.RepositoryException: es.git.openkm.core.principal.LdapPrincipalAdapter
at es.git.openkm.module.direct.DirectAuthModule.getPrincipalAdapter(DirectAuthModule.java:819)
at es.git.openkm.module.direct.DirectAuthModule.getUsers(DirectAuthModule.java:840)
at es.git.openkm.api.OKMAuth.getUsers(OKMAuth.java:152)
at es.git.openkm.frontend.server.OKMAuthServlet.getAllUsers(OKMAuthServlet.java:435)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:527)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:164)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.doPost(RemoteServiceServlet.java:86)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassNotFoundException: es.git.openkm.core.principal.LdapPrincipalAdapter
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:169)
at es.git.openkm.module.direct.DirectAuthModule.getPrincipalAdapter(DirectAuthModule.java:815)
... 31 more


en la interfaz me dice:
OKM-007001(GetGrantedUsers): Error interno del repositorio

es.git.openkm.core.principal.LdapPrincipalAdapter

no se como modificarlo parece ser
un saludo.
 #3364  by bateman
 
ok. Despues de leer la guia de desarrolladores y buscar por el foro, no hay manera de hacer funcionar este programa. Cuando intento hacer todo el tema del xdoclet me tira un millon de errores al parsear los ficheros. Si alguien tiene alguna ayuda estaria encantado de intentarlo, pero no deberia ser tan dificil bajarse el gestor y hacerlo funcionar. Me empiezo a plantear otras opciones.

Un saludo.
 #3428  by pavila
 
En una o dos semanas esperamos liberar el nuevo OpenKM 4.0 donde se simplifica bastante la configuración del LDAP.

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.