...
Parámetro | Descripción |
---|---|
java.naming.provider.url | Indica la ruta al servidor donde se encuentran los repositorios. Esta ruta es de la forma ldap://<host>:<port> |
java.naming.factory.initial | Indica el nombre de la clase java que implementa el Contexto Inicial. Este es un parámetro del sistema que no debe cambiarse a menos que se indique lo contrario. El valor por defecto de esta property es "com.sun.jndi.ldap.LdapCtxFactory" |
java.naming.security.authentication | Indica el mecanismo de autenticación. Este es un parámetro del sistema que no debe cambiarse a menos que se indique lo contrario. El valor por defecto de esta property es "simple" |
browseUserDN | Distinguished Name del usuario que utiliza el sistema para obtener las listas de usuarios, roles, etc. |
browseUserPassword.plain | Contraseña del usuario indicado en el parámetro browseUserDN. El valor de esta property se ingresa como texto plano y una vez que el servidor se reinicia ésta es cambiada por la property browseUserPassword cuyo valor será encriptado en forma automática por el servidor |
roleDefAttributeID | Nombre del atributo que deben tener las entradas en el directorio que representan roles |
roleDefValueAttributeID | Valor que debe tener el atributo roleDefAttributeID para ser considerado un rol |
roleNameAttributeID | Atributo que se va a utilizar para recuperar el nombre del rol |
roleSearchBaseDN | DN a partir del cual se buscarán los roles |
userDefAttributeID | Nombre del atributo que deben tener las entradas en el directorio que representan usuarios |
userDefValueAttributeID | Valor que debe tener el atributo userDefAttributeID para ser considerado un usuario |
userNameAttributeID | Atributo que se va a utilizar para recuperar el nombre del usuario |
userSearchBaseDN | DN a partir del cual se buscarán los usuarios |
userRolesAttributeID | Nombre del atributo multivaluado que contiene la lista de los roles que tiene asignado el usuario |
Nota
Para el caso en que la lista de roles indicada por la property userRolesAttributeID sea una lista de DN (Distinguished Name) en lugar de los nombres de los roles directamente, es necesario especificar el atributo dereferenceRoleAttribute, el cual indica el atributo a partir del cual se va a obtener el nombre del rol. En este caso, el valor de dereferenceRoleAttribute y el de roleNameAttributeID deben coincidir para que funcione correctamente la asignación de roles a usuarios.
Nota
...
: Para que la validación de usuarios sea exitosa es necesario que éstos tengan definidos el atributo "dn"
Nota
En caso de que se tenga mas de un path para buscar los usuarios se debe declarar:
userSearchBaseDN_0 = .....
userSearchBaseDN_1 = ....
Ejemplos de Archivos de Configuración
...
Code Block | ||
---|---|---|
| ||
java.naming.provider.url = ldap://localhost:389 #userRolesAttributeID = nsrole #dereferenceRoleAttribute = cn #Browse user's DN (used to bind to the Directory) browseUserDN = cn=o3,ou=usuarios,dc=ids,dc=com,dc=uy browseUserPassword.plain = ???????? #Roles's Entry definition roleDefAttributeID = objectclass roleDefValueAttributeID = ldapsubentry roleNameAttributeID = cn roleSearchBaseDN = ou=grupos,dc=ids,dc=com,dc=uy #User's Entry definition userDefAttributeID = objectclass userDefValueAttributeID = person userNameAttributeID = uid userSearchBaseDN = ou=usuarios,dc=ids,dc=com,dc=uy |
3. Modificar usuario internal
Info |
---|
El nuevo usuario deberá estar asociado al rol System y tener definido cómo como atributo runAsEnabled de tipo Boolean con valor TRUE. |
En <o3>\O3Server.properties modificar:
...
Por defecto Liferay viene configurado para autentificar con CAS. Si configuramos O3 para que autentifique contra un LDAP o AD, puede interesarnos que los datos de los usuario se importen del LDAP en forma automática, o que todo usuario autorizado por O3 se le cree la cuenta en forma automática en Liferay
Hacer que Liferay tome los datos del LDAP
- Debemos ir a Panel de Control, seleccionar la opción Configuraciones y luego Autenticación.
- En el tab General configurar para que el método de autenticación de usuarios sea Por nombre de usuario
- Luego seleccionamos el tab LDAP, esto es para todo tipo de LDAP incluso Activi Directory.
- Verificar que Habilitado y Requerido no estén chequeados.
- Elegir en Valores por defecto el LDAP de nuestra preferencia. y luego apretar el botón Restaurar valores, esto hará que se precarguen valores en los campos siguientes.
- Debemos completar los datos de conexión, si todo está correcto al apretar el botón de Probar la conexión a LDAP deberia mostrarnos una pantalla diciendo que se ha establecido la conexión con éxito con el servidor LDAP.
Configuración de usuarios
- Esta es la parte más delicada de la configuración, se debe configurar correctamente el Filtro de búsqueda para autenticación para que Liferay encuentre el usuario que se quiere loguear. Por defecto el filtro queda configurado con @user_id@ que deberá ser
...
- sustituido por @screen_name@, el resto del filtro se debe dejar tal como está. Los demás campos en general
...
- quedan bien, revisar el campo Nombre de usuario, debería coincidir con lo que igualamos @screen_name@
- Probamos con el botón de Probar la configuración de usuarios LDAP, si todo está bien nos mostrara una pantalla con los primeros usuarios del LDAP
- Atención: ver bien esta pantalla no implica que el Filtro de búsqueda para autenticación haya sido bien configurado. Si el filtro quedó mal sucederá que no importara los usuarios.
Configuración de CAS
- En el tab CAS le diremos a Liferay como autenticarse.
- Es obligatorio que el checkbox Habilitado este chequeado.
- Si queremos que los datos de los usuarios se importen del LDAP debemos chequear Importación de LDAP.
- El resto de los campos deben dejarse tal como están. Atención, cambios en estos campos pueden llevar a no poder loguearse a liferay, se recomienda consultar antes de modificarlos.
Últimos pasos
- Luego que configuramos todo solo resta apretar el botón de salvar para persistir los cambios.
- Podemos ir al link de Asociaciones por defecto de los usuarios y hacer que todo usuario que se crea por defecto pertenezca a una comunidad y que tenga determinados roles.
Ejemplo de configuración para Microsoft Active Directory
Problemas
- O3 no autentica contra el LDAP
Se puede revisar el log del servidor y ver se hay algún error inmediatamente de habernos intentado loguear. Estudiar si es problema de credenciales del usuario, del usuario que accede al ldap para obtener datos, mal el DN base. - Liferay no auntentica contra el LDAP
Revisar que el filtro sea correcto, usualmente en el log se ve que no encuentra al usuario. - No importa los datos de los usuario
Esto se pude deber a que el filtro está mal y no lo encuentra.
También se pude deber a que faltan datos obligatorios en el LDAP, por ejemplo la casilla de correo, o el apellido, etc. Ver datos necesarios en la parte de usuarios.