sábado, 7 de enero de 2012

Creando cuentas ldap para proyecto con spring

Para crear las cuentas ldap he utilizado el software libre openldap. Y una vez instalado he configurado el fichero "slapd.conf" como sigue:

access to *
        by dn="cn=root,dc=manager,dc=com" write
        by self write       
        by * auth

database config
rootdn   "cn=admin,cn=config"
rootpw   config

database    bdb
suffix          "dc=manager,dc=com"
rootdn        "cn=root,dc=manager,dc=com"
rootpw       admin
directory    ./manager

=======================================================================

La directiva "rootdn" establece el usuario que tendra permiso para configurar el ldap. Yo he puesto que mi usuario por defecto sea root: "cn=root,dc=manager,dc=com". Con la directiva "access to *" le doy los permisos que necesito para poder configurar el ldap en mi caso permisos de escritura.

Una vez hecho esto es necesario crear la estructura ldap que queramos. Por ejemplo yo lo he metido todo dentro de "manager.com". De modo que así queda mi archivo ldif:

dn: dc=manager,dc=com
changetype: add                  //Importatisimo en windows para indicarle que operacion ejecutar: 
objectClass: dcObject         //add: para añadir (por primera vez), modify: para modificar, entre otras.
objectClass: organization
o: Example Corporation
dc: manager


dn: ou=users,dc=manager,dc=com    //Despues de la raiz he creado los usuarios
changetype: add
objectClass: organizationalUnit
ou: users

dn: ou=groups,dc=manager,dc=com  //Los grupos
changetype: add
objectClass: organizationalUnit
objectClass: top
ou: groups


dn: uid=ggomez,ou=users,dc=manager,dc=com //Y creamos un usuario
changetype: add
cn: ggomez
gidNumber: 100
homeDirectory: /home/ggomez
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: posixAccount
objectClass: person
objectClass: top
sn: Germán Gómez
uid: ggomez
uidNumber: 100

dn: cn=admin,ou=groups,dc=manager,dc=com //Creamos el grupo administrador
cn: admin
objectClass: groupOfUniqueNames
objectClass: top
uniqueMember: uid=ggomez,ou=users,dc=manager,dc=com //Este usuario será el administrador de la web.



Para poder realizar realizar la gestion de usuarios de forma visual y más comoda podemos utilizar programas como JXplorer o Userbooster, yo he utilizado JXplorer porque me es más cómodo.







Para entrar rellenamos los campos de conexión. Dónde pone Base DN ponemos lo que pusimos en el fichero de configuración slapd.conf en la directiva suffix, donde pone User DN le ponemos lo que le pusimos en la directiva rootdn y el password correspondiente.A mi me sale la siguiente estructura:








El comando que he utilizado para añadir nuevas entradas desde un fichero ldif es el siguiente:
C:\Program Files\OpenLDAP\ClientTools>ldapmodify -H ldap://localhost:389 -x -D "
cn=root,dc=manager,dc=com" -f ../archivo.ldif -w admin





Si se ejecuta correctamente apararecerá el siguiente mensaje:

adding new entry "dc=manager,dc=com"

Al final he utilizado el programa OpenDS para crear las cuentas Ldap porque para dar de alta usuarios desde la web me daba problemas con el servidor que tenia configurado con el OpenLDAP, aunque ya he localizado el error que tenía con el otro servidor esta herramienta me lo ha puesto tan fácil que he decidido seguir con ella porque cuenta con el servidor y el administrador de entradas, por lo que he hecho lo mismo desde el principio con el OpenDS y me ha funcionado a la primera y además los errores estan más detallados y por si se tiene problemas con el inglés, te sale el detalle del error en castellano (cuando utilizada el servidor del OpenLDAP lo errores aparecian en inglés).



Explicaré los pasos detalladamente más adelante..

No hay comentarios:

Publicar un comentario