Wiki Markup |
---|
{scrollbar} |
Note | ||
---|---|---|
| ||
Actualmente la activación activación LDAP desde la consola Geronimo falla con un Error: Unable to initialize LoginModule: null (Error: No es posible inicializar LoginModule: null). Hasta que se arregle dicho error, usa la Herramienta de ActivaciónActivación para activar reinos LDAP. |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?xml version="1.0" encoding="UTF-8"?> <module xmlns="http://geronimo.apache.org/xml/ns/deployment-1.1"> <environment> <moduleId> <groupId>groupName</groupId> <artifactId>artifactName</artifactId> <version>1.0</version> </moduleId> <dependencies> <dependency> <groupId>geronimo</groupId> <artifactId>j2ee-security</artifactId> <version>1.1</version> <type>car</type> </dependency> </dependencies> </environment> <gbean name="ldap-login" class="org.apache.geronimo.security.jaas.LoginModuleGBean"> <attribute name="loginModuleClass">org.apache.geronimo.security.realm.providers.LDAPLoginModule</attribute> <attribute name="serverSide">true</attribute> <attribute name="options"> initialContextFactory=com.sun.jndi.ldap.LdapCtxFactory connectionURL=ldap://localhost:1389 connectionUsername=uid=admin,ou=system connectionPassword=secret connectionProtocol= authentication=simple userBase=ou=users,ou=system userSearchMatching=uid={0} userSearchSubtree=false roleBase=ou=groups,ou=system roleName=cn roleSearchMatching=(uniqueMember={0}) roleSearchSubtree=false userRoleName= </attribute> <attribute name="loginDomainName">ldap-realm</attribute> </gbean> <gbean name="ldap-realm" class="org.apache.geronimo.security.realm.GenericSecurityRealm"> <attribute name="realmName">ldap-realm</attribute> <reference name="LoginModuleConfiguration"> <name>ldap-login</name> </reference> <reference name="ServerInfo"> <name>ServerInfo</name> </reference> <reference name="LoginService"> <name>JaasLoginService</name> </reference> </gbean> <gbean name="ldap-login" class="org.apache.geronimo.security.jaas.JaasLoginModuleUse"> <attribute name="controlFlag">REQUIRED</attribute> <reference name="LoginModule"> <name>ldap-login</name> </reference> </gbean> </module> |
Para activar ldap-realm.xml ejecuta al siguiente comando desde el directorio <geronimo_home>/bin:
{{*java -jar deployer.jar --user system --password manager deploy
<ubicación<ubicación_ldap>/<nombre_de_archivo>.xml
*}}
Una vez activado, deberÃas deberías ver un mensaje de confirmación confirmación similar al siguiente ejemplo: No Format bgColor #000000 borderStyle solid
E:\geronimo\bin>java -jar deployer.jar --user system --password manager deploy e:/ldap-jetty/ldap-realm.xml
Deployed <groupName>/<artifactName>/<version>/car
...
Configuración de LDAPLoginModule
class = org.apache.geronimo.security.realm.providers.LDAPLoginModule
Info |
---|
Tip: La clave para trabajar con el módulo módulo LDAP es: CONOCE TU ESQUEMA LDAP. |
...
El LDAPLoginModule puede ser configurado para encontrar roles de usuario (membresÃas membresías de grupo) usando dos métodos métodos distintos:
Encuentra los roles mediante un atributo de pertenencia a grupo que contiene usuarios miembros (por ej. atributo member
)
Para usar este métodométodo, se deben establecer las opciones roleName
y roleSearchMatching
. LDAPLoginModule ejecutará ejecutará la búsqueda búsqueda LDAP mediante el filtro roleSearchMatching
para buscar el nombre distinguido del usuario atenticado, dentro del atributo de pertenencia roleName
de cada grupo. Para evitar este métodométodo, la opción opción roleName
NO DEBE dejarse establecida. Si la opción opción roleName
se encuentra establecida y la opción opción roleSearchMatching
no se encuentra establecida, LDAPLoginModule
intentará intentará ejecutar la búsqueda búsqueda y lanzará lanzará una excepciónexcepción.
Encuentra los roles mediante un atributo de pertenencia a grupo que contenga los grupos a los cuales es miembro el usuario (por ej. un atributo memberOf
).
Para usar este método método la opción opción userRoleName
debe establecerse con el nombre del atributo de pertenencia a grupo que contenga la lista de membresÃa membresía del grupo. Para evitar este métodométodo, deberÃa debería no establecerse la opción opción userRoleName
.
Opciones LDAPLoginModule
OpciónOpción | DescripciónDescripción |
---|---|
initialContextFactory | Nombre de clase del context factory inicial. Usualmente |
connectionURL | URL de conexión conexión LDAP, como ldap://localhost:1389 . Nota que el puerto LDAP usual es 389. |
connectionUsername | El DN usado por el módulo módulo login para autenticarse al servidor directorio. |
connectionPassword | La credencial (password) que se usa por el módulo módulo login para autenticarse al servidor directorio. |
connectionProtocol | El protocolo de seguridad a usar. Este valor se determina por el proveedor de servicio. Puede dejarse en blanco. Un ejemplo serÃa sería SSL. |
authentication | El nivel de seguridad a usar. Su valor es una de las siguientes cadenas: "none" (ninguno), "simple", "strong" (fuerte). Si no se especifica esta propiedad, el comportamiento lo determina el proveedor de servicio. |
userBase | El DN base para la búsqueda búsqueda de membresÃa membresía de grupo. |
userSearchMatching | La especificación especificación de filtro para el como buscar para atributos de usuario. Filtros RFC 2254 son permitidos. Además Además puedes pasar un parámetro parámetro al filtro de búsqueda búsqueda en lugar de un valor literal. Por ejemplo: ese es una especificación especificación de filtro RFC 2254: (cn=Babs Jensen). Si quieres parametrizar el valor de un tipo de atributo CN, especifica (cn = {0}). Este entero se refiere al número número de parámetroparámetro. El valor de parámetro parámetro es el nombre de usuario. Esta búsqueda búsqueda debe devolver exactamente un objeto. |
userSearchSubtree | Define la perspectiva de búsqueda búsqueda para atributos de usuario. Si se establece true (verdadero), la búsqueda búsqueda de directorio es de perspectiva SUBTREE (sub-árbolárbol), si es false (falso), la búsqueda búsqueda de directorio es de perspectiva ONE-LEVEL (un-nivel). |
roleBase | DN base para la búsqueda búsqueda de membresÃa membresía de grupo. |
roleName | Atributo LDAP que identifica al nombre de grupo en el resultado proporcionado por la búsqueda búsqueda de membresÃa membresía de grupo. Nota que una búsqueda búsqueda de membresÃa membresía de grupo es definida por el parámetro parámetro |
roleSearchMatching | Especificación Especificación de filtro para cómo cómo buscar los roles. Se permiten filtros RFC 2254. AdemásAdemás, puedes pasar parámetros parámetros al filtro de búsqueda búsqueda en lugar del valor literal. Por ejemplo: (uniqueMember = {0}). Este entero se refiere al número número de parámetroparámetro. Este parámetro parámetro es el DN del usuario autenticado. Nota que si la membresÃa membresía de rol para el usuario es definida en el atributo member-of-like (ver parámetro parámetro |
roleSearchSubtree | Define la perspectiva de búsqueda búsqueda de directorio para roles. Si es true (verdadero), la búsqueda búsqueda de directorio es de perspectiva SUBTREE (sub-árbolárbol), si es false (falso), la búsqueda búsqueda de directorio es de perspectiva ONE-LEVEL (un-nivel). |
userRoleName | Atributo de membresÃa membresía de grupo para un usuario. Esquemas distintos LDAP representan membresÃa membresía de grupo de usuario en distintas maneras. Ejemplos son: memberOf, isMemberOf, member, etc. Valores a esos atributos son identificadores de grupos a los cuales un usuario es miembro de. Por ejemplo, si tienes: memberOf: cn=admin,ou=groups,dc=foo, especifica memberOf como el valor para el atributo |