Buenas, estoy intentando que el acceso a una aplicación en tomcat
realize una autenticación contra usuarios de active directory,
pertenecientes a un grupo concreto por ejemplo, o de alguna manera tal
que sólo deje acceder a esos usuarios comprobando sus credenciales
contra active directory.
He probado la siguiente configuración de realm jndi, me pide
autenticación, por el método BASIC, pero no funciona correctamente, no
acabo de entender muy bien como funciona esto así que supongo que sera
un problema de parametrización, os pongo los datos a ver si alguien me
puede guiar un poco.
Gracias por adelantado.
Saludos.
En el fichero context.xml de la aplicacion en conf/Catalina/localhost
defino lo siguiente:
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="${catalina.home}/webapps/aplicacion">
<Realm className="org.apache.catalina.realm.JNDIRealm" debug="99"
connectionURL="ldap://
5.2.1.8:389"
UserPattern="uid={0},ou=Users,dc=activedirectorydomain,dc=es"
roleBase="ou=Groups,dc=activedirectorydomain,dc=es"
roleName="cn"
roleSearch="(uniqueMember={0})" />
</Context>
En el fichero web.xml dentro de WEB-INF
<!-- Security definitions -->
<!-- Define a Security Constraint on this Application -->
<security-constraint>
<web-resource-collection>
<web-resource-name>nombreaplicacion</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>Administrators</role-name>
</auth-constraint>
</security-constraint>
<!-- Define the Login Configuration for this Application -->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>usuario</realm-name>
</login-config>
<!-- Security roles referenced by this web application -->
<security-role>
<description>ol de identificaciód</description>
<role-name>administrators</role-name>
</security-role>
Mirando el log catalina.out veo lo siguiente:
17-nov-2009 16:56:57 org.apache.catalina.startup.ContextConfig
validateSecurityRoles
ADVERTENCIA: El nombre de papel de seguridad Administrators es usado
en un <auth-constraint> sin haber sido definido en <security-role>
17-nov-2009 16:57:07 org.apache.catalina.startup.ContextConfig
validateSecurityRoles
ADVERTENCIA: El nombre de papel de seguridad Administrators es usado
en un <auth-constraint> sin haber sido definido en <security-role>