• como puedo importar usuarios a openkm?

  • Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
Hemos intentado hacer de OpenKM una aplicación lo más intuitiva posible, sin embargo siempre viene bien algún consejo.
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.
 #2461  by link2009
 
Hola quisiera saber como puedo importar usuarios a OpenKM desde una base de datos postgree y tambien que base de datos utiliza OpenKM.
Ah por si es necesario utilizo un sistema operativo ubuntu 8.10.
Gracias y un saludo.
 #2464  by jllort
 
Si quieres puedes configurar los usuarios contra esta base de datos postgres, por ejemplo.

OpenKM permite tanto integrarse con ldap, como contra base de datos para tener un repositorio unico de usuarios ( es una posibible solucion ). Eso si hay que implementar 2 clases java para que la integración sea al 100% es decir para la autentificacion simplemente es modificar el fichero login-config.xml pero queda en el UI del openkm la lista de usuarios y grupos,para eso es preciso la creación de estas dos clases ( en la documentación y algun post del forum puedes encontrar ejemplos ).

En caso de que quieras realizar inserciones la base de datos utilizada por defecto es una hypersonic, que se encuentra en default/data/hypersonic todas las tablas propietarias de OpenKM empiezan por OKM ( mientras tengas el jboss arrancado no te permitira conectarte con un cliente externo a esta base de datos -> ya te lo comento directamente )
 #2467  by link2009
 
Gracias por la anterior respuesta, ahora ya se como puedo entrar en HSQL DataBase Manager pero no se como hacerla que funcione ya sea con sus tablas o con las de mi base de datos postgreSQL.
Gracias y un saludo.
 #2478  by link2009
 
Hola el problema que tengo es que cuando me sale la pantalla para conectar en el HSQL DataBase Manager no se que tengo que poner: Recent Setting, Setting Name, Type, Driver, Url, Usser y Password para ver las tablas del OpenKm.
Y donde tengo que poner las clases java para que pudiera utilizar los datos de posgre.
Gracias y un saludo.
 #2479  by jllort
 
Fijate en los ficheros:
OpenKM-ds.xml ( aqui esta el pool de base de datos definido )
login-config.xml ( aqui esta la consulta para el login con este pool )

Esto es lo primero que hay que modificar, para que la autentificacion funcione desde OpenKM ( igual tienes que reiniciar el jboss para que lo pille ). Dos detalles ( en esta postgres necesitaras crear el usuario admin, acuerdate que todos los usuarios tienen el rol UserRol a parte de los otros ).

Una vez hecho esto tendras que crear esas 2 clases para que te pille desde el entorno grafico la lista de los usuarios ( hay que declararlas en el OpenKM.cfg -> fase 2, como es una base de datos te sera sencillito ).
 #2480  by link2009
 
Hola perdon por la torpeza y gracias por las dudas resueltas pero creo que el fichero que me comentas el OpenKM-ds.xml no lo tengo porque lo estoy buscando desde consola y no me lo encuentra, si me puedes decir donde se supone que tendria que estar me seria de gran ayuda.
Gracias y un saludo.
 #2565  by link2009
 
Hola despues de subir archivos y estar liado con mas cosas me he puesto a mirar lo de como implementar el ldap de postgre y no se como hacerlo tengo una empanada que no se como cogerlo ya, me podeis decir los pasos que tengo que seguir para implementar el ldap de mi postgre a OpenKM?? se que tengo que hacer algo con el archivo login-config-xml pero no se muy bien el que y tambien hacer dos clases java que no se donde se tienen que colocar y esta clase :public interface PrincipalAdapter { public Collection getUsers() throws PrincipalAdapterException;
public Collection getRoles() throws PrincipalAdapterException;
} donde se tiene que poner ??
Ya digo que tengo un rollo con esto que no me aclaro na.
Gracias y perdon por la torpeza.
 #2566  by jllort
 
esto esta en %Jboss_home%/server/default/deploy ( allí lo tienes fijo )
 #2582  by link2009
 
Vale ya estan localizados OpenKM-ds.xml y login-config.xml ahora que es lo que tengo que cambiar para que pueda funcionar con postgree??

<?xml version=\'1.0\'?>
<!DOCTYPE policy PUBLIC
\"-//JBoss//DTD JBOSS Security Config 3.0//EN\"
\"http://www.jboss.org/j2ee/dtd/security_config.dtd\">

<!-- The XML based JAAS login configuration read by the
org.jboss.security.auth.login.XMLLoginConfig mbean. Add
an application-policy element for each security domain.

The outline of the application-policy is:
<application-policy name=\"security-domain-name\">
<authentication>
<login-module code=\"login.module1.class.name\" flag=\"control_flag\">
<module-option name = \"option1-name\">option1-value</module-option>
<module-option name = \"option2-name\">option2-value</module-option>
...
</login-module>

<login-module code=\"login.module2.class.name\" flag=\"control_flag\">
...
</login-module>
...
</authentication>
</application-policy>

$Revision: 64598 $
-->

<application-policy name=\"OpenKM\">
<authentication>
<login-module code=\"org.jboss.security.auth.spi.LdapExtLoginModule\" flag=\"required\" >
<module-option name=\"java.naming.provider.url\">ldap://cordc.ec.inet.uady.mx:389/OU=CGPEyGI,OU=Rectoria,DC=ec,DC=inet,DC=uady,DC=mx</module-option>
<module-option name=\"bindDN\">CN=Wilberth R. García Alfaro,OU=CGPEyGI,OU=Rectoria,DC=ec,DC=inet,DC=uady,DC=mx</module-option>
<module-option name=\"java.naming.security.authentication\">simple</module-option>
<module-option name=\"bindCredential\">ADMIN_PASSWORD</module-option>
<module-option name=\"baseCtxDN\">OU=CGPEyGI,OU=Rectoria,DC=ec,DC=inet,DC=uady,DC=mx</module-option>
<module-option name=\"baseFilter\">(sAMAccountName={0})</module-option>
<module-option name=\"rolesCtxDN\">OU=CGPEyGI,OU=Rectoria,DC=ec,DC=inet,DC=uady,DC=mx</module-option>
<module-option name=\"roleFilter\">(sAMAccountName={0})</module-option>
<module-option name=\"roleAttributeID\">memberOf</module-option>
<module-option name=\"roleAttributeIsDN\">true</module-option>
<module-option name=\"roleNameAttributeID\">cn</module-option>
<module-option name=\"roleRecursion\">-1</module-option>
<module-option name=\"searchScope\">SUBTREE_SCOPE</module-option>
<module-option name=\"defaultRole\">UserRol</module-option>
</login-module>
</authentication>
</application-policy>

<policy>
<!-- Used by clients within the application server VM such as
mbeans and servlets that access EJBs.
-->
<application-policy name = \"client-login\">
<authentication>
<login-module code = \"org.jboss.security.ClientLoginModule\"
flag = \"required\">
<!-- Any existing security context will be restored on logout -->
<module-option name=\"restore-login-identity\">true</module-option>
</login-module>
</authentication>
</application-policy>

<!-- Security domain for JBossMQ -->
<application-policy name = \"jbossmq\">
<authentication>
<login-module code = \"org.jboss.security.auth.spi.DatabaseServerLoginModule\"
flag = \"required\">
<module-option name = \"unauthenticatedIdentity\">guest</module-option>
<module-option name = \"dsJndiName\">java:/DefaultDS</module-option>
<module-option name = \"principalsQuery\">SELECT PASSWD FROM JMS_USERS WHERE USERID=?</module-option>
<module-option name = \"rolesQuery\">SELECT ROLEID, \'Roles\' FROM JMS_ROLES WHERE USERID=?</module-option>
</login-module>
</authentication>
</application-policy>

<!-- Security domain for JBossMQ when using file-state-service.xml
<application-policy name = \"jbossmq\">
<authentication>
<login-module code = \"org.jboss.mq.sm.file.DynamicLoginModule\"
flag = \"required\">
<module-option name = \"unauthenticatedIdentity\">guest</module-option>
<module-option name = \"sm.objectname\">jboss.mq:service=StateManager</module-option>
</login-module>
</authentication>
En el login-config.xml tengo todo esto que he cogido por un hilo que encontre y lo que esta en verde se supone que me lo tiene que dar mi administrador?? creo que falta algo esto: DC=mx / Mi_Contraseña donde se pone?? y en el archivo OpenKM-ds.xml no se si tengo que hacer algo.
Y donde tengo que poner esto ??? :

package es.git.openkm.core;

import java.util.Collection;

public interface PrincipalAdapter {

/**
* Method to retrieve all users from a authentication source.
*
* @return A Collection with all the users.
* @throws PrincipalAdapterException If any error occurs.
*/
public Collection getUsers() throws PrincipalAdapterException;

/**
* Method to retrieve all roles from a authentication source.
*
* @return A Collection with all the roles.
* @throws PrincipalAdapterException If any error occurs.
*/
public Collection getRoles() throws PrincipalAdapterException;
}
Ya digo que me estoy haciendo un lio muy grande para poder integrar el ldap de postgre a OpenKM.
Gracias y un saludo.
 #2594  by jllort
 
A ver vamos por pasos, por que ciertamente he visto cosas raras.

1- Primero integra la parte de autentificación
2- Luego cuando este funcione bien integra la classe.

Vamos por lo primero pues:

Olvídate de esto:
Code: Select all
<application-policy name=\"OpenKM\">
<authentication>
<login-module code=\"org.jboss.security.auth.spi.LdapExtLoginModule\" flag=\"required\" >
<module-option name=\"java.naming.provider.url\">ldap://cordc.ec.inet.uady.mx:389/OU=CGPEyGI,OU=Rectoria,DC=ec,DC=inet,DC=uady,DC=mx</module-option>
<module-option name=\"bindDN\">CN=Wilberth R. García Alfaro,OU=CGPEyGI,OU=Rectoria,DC=ec,DC=inet,DC=uady,DC=mx</module-option>
<module-option name=\"java.naming.security.authentication\">simple</module-option>
<module-option name=\"bindCredential\">ADMIN_PASSWORD</module-option>
<module-option name=\"baseCtxDN\">OU=CGPEyGI,OU=Rectoria,DC=ec,DC=inet,DC=uady,DC=mx</module-option>
<module-option name=\"baseFilter\">(sAMAccountName={0})</module-option>

Aqui tienes que poner una consulta que funcione para 
<module-option name=\"rolesCtxDN\">OU=CGPEyGI,OU=Rectoria,DC=ec,DC=inet,DC=uady,DC=mx</module-option>
<module-option name=\"roleFilter\">(sAMAccountName={0})</module-option>
<module-option name=\"roleAttributeID\">memberOf</module-option>
<module-option name=\"roleAttributeIsDN\">true</module-option>
<module-option name=\"roleNameAttributeID\">cn</module-option>
<module-option name=\"roleRecursion\">-1</module-option>
<module-option name=\"searchScope\">SUBTREE_SCOPE</module-option>
<module-option name=\"defaultRole\">UserRol</module-option>
</login-module>
</authentication>
</application-policy>
Postea el OpenKM-ds.xml que quiero ver el pool de postgres si lo has puesto bien, acuerdate que hay que poner la libreria .jar de postgres en el jboss/server/default/lib

Como estas integrando una base de datos ( olvídate del ldap ) deberías modificar la consulta que tienes en el login-config.xml
Code: Select all
<application-policy name = \"OpenKM\">
      <authentication>
        <login-module code=\"org.jboss.security.auth.spi.DatabaseServerLoginModule\" flag = \"required\">
          <module-option name=\"dsJndiName\">java:/OKMAuthDS</module-option>
          <module-option name=\"principalsQuery\">select usr_pass as PASSWD from users where usr_id=? and usr_active=\'true\'</module-option>
          <module-option name=\"rolesQuery\">select ur_role as ROLEID, \'Roles\' from user_role where ur_user=?</module-option>
        </login-module>
      </authentication>
    </application-policy>
Aquí tienes que modificar la consulta para que funcione con las tablas de los usuarios de tu postgre ( asegurate que las consultas que realizas aqui funcionan bien ).

Una vez modificado todo esto reinicia el jboss y la autentificación debería funcionar ( despues ya pasamos a la fase dos de crear la clase ).
 #2599  by link2009
 
Hola pues en el archivo OpenKM-ds.xml tengo solo esto:
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<datasources>
<local-tx-datasource>
<jndi-name>PostgresDS</jndi-name>
<connection-url>jdbc:postgresql://localhost:8080/NameBD</connection-url>
<driver-class>org.postgresql.Driver</driver-class>
<user-name>postgres</user-name>
<password>postgres</password>
</local-tx-datasource>
</datasources>

No se si estara bien o no ya me diras.
Y ya he puesto lo que me posteaste en el login-config.xml quite lo que tenia y puse lo otro y en el directorio lib tengo esto : postgresql-8.3-604.jdbc3.jar
Gracias y un saludo.
 #2603  by jllort
 
Es mejor crear un Postgre-ds.xml ( el pool lo veo bien ) y continuar manteniendo el OpenKM-ds.xml tal y como estaba inicialmente ( restauralo )

En el login-config.xml donde pone OKMAuthDS pon el PostgresDS

Acuerdate que debes modificar en el login-config.xml las consultas sql en funcion de como sea tu estructura de usuarios en tu base de datos
 #2611  by link2009
 
Gracias por lo anterior jllort pero me dicen que nuestra base de datos no tiene roles de usuario y que seria mejor implementar nuestro openldap o active directory (tenemos los dos) lo que sea mas facil de hacer.
Y como me estoy mirando mas hilos sobre este tema creo que me hace falta el fichero: OpenKM.ear modificado y no lo encuentro si me puedes decir donde esta.
Gracias de nuevo y perdon por las molestias.

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.