Foros del Web » Programación para mayores de 30 ;) » Java »

Configurar JNDI Realm

Estas en el tema de Configurar JNDI Realm en el foro de Java en Foros del Web. Buenos días, llevo ya un par de días peleándome con la configuración de un realm JNDI en un contexto web de Tomcat. La cuestión es ...
  #1 (permalink)  
Antiguo 28/06/2007, 00:45
 
Fecha de Ingreso: junio-2007
Mensajes: 3
Antigüedad: 16 años, 10 meses
Puntos: 0
Configurar JNDI Realm

Buenos días,

llevo ya un par de días peleándome con la configuración de un realm JNDI en un contexto web de Tomcat. La cuestión es que parece que me valida correctamente el usuario contra el LDAP pero parece ser que no puede asociar ese usuario al rol que tiene los permisos para acceder al contexto web de mi aplicación y siempre me devuelve una página de error HTTP 403 (no autorizado). Las trazas que veo en el tomcat así lo indican:

DEBUG http-6060-Processor25 org.apache.catalina.authenticator.AuthenticatorBas e - Calling authenticate()
DEBUG http-6060-Processor25 org.apache.catalina.authenticator.AuthenticatorBas e - Authenticated 'tssiweb' with type 'BASIC'
DEBUG http-6060-Processor25 org.apache.catalina.authenticator.AuthenticatorBas e - Calling accessControl()
DEBUG http-6060-Processor25 org.apache.catalina.realm.RealmBase - Checking roles GenericPrincipal[tssiweb()]
DEBUG http-6060-Processor25 org.apache.catalina.realm.RealmBase - El usuario tssiweb NO desempeña el papel de tssiwebuser
DEBUG http-6060-Processor25 org.apache.catalina.realm.RealmBase - No role found: tssiwebuser
DEBUG http-6060-Processor25 org.apache.catalina.authenticator.AuthenticatorBas e - Failed accessControl() test

En el LDAP tengo la siguiente información de usuario (tssiweb) y roles (tssiwebuser):

dn: cn=tssiwebuser,ou=groups, o=tmm
objectClass: groupOfUniqueNames
uniqueMember: uid=tssiweb, ou=People, o=tmm
cn: tssiwebuser

dn: uid=tssiweb,ou=People, o=tmm
mail: [email protected]
userPassword:: e1NIQX0wRFBpS3VOSXJyVm1EOElVQ3V3MWhReE5xWmM9
uid: tssiweb
objectClass: inetOrgPerson
sn: tssiweb
cn: tssiwebuser

En el fichero de contexto web tengo lo siguiente:

<Context docBase="${catalina.home}/webapps/TSSIWEB">
<Realm className="org.apache.catalina.realm.JNDIRealm" debug="99"
connectionURL="ldap://10.95.8.110:389"
userPattern="uid={0}, ou=People, o=tmm"
roleBase="ou=groups, o=tmm"
roleName="cn"
roleSearch="(uniqueMember={0})" />

</Context>

Y para acabar en el web.xml tengo las siguiente directivas de seguridad:

<!-- Security definitions -->

<!-- Define a Security Constraint on this Application -->
<security-constraint>
<web-resource-collection>
<web-resource-name>Entire Application</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>tssiwebuser</role-name>
</auth-constraint>
</security-constraint>

<!-- Define the Login Configuration for this Application -->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>TSSIWEB</realm-name>
</login-config>

<!-- Security roles referenced by this web application -->
<security-role>
<description>The role that is required to log in to the TSSIWEB Application</description>
<role-name>tssiwebuser</role-name>
</security-role>

Supongo que será alguna chorrada de configuración que esté pasando por alto. Estaría muy agradecido si alguien pudiera darme alguna pista o consejo al respecto.

Muchas gracias y saludos,
k
  #2 (permalink)  
Antiguo 28/06/2007, 12:26
 
Fecha de Ingreso: junio-2007
Mensajes: 3
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Configurar JNDI Realm

Me auto-respondo: era una memez, la password del usuario en el ldap estaba codificada en base64 y el tomcat no lograba nunca autenticarlo, poniéndola en claro logré configurarlo.

Saludos.
k.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:46.