Articles
Framework para el Desarrollo de Aplicaciones
Por Marcelo Vásquez
Publicado en octubre 2011
Cuando empezamos a desarrollar por 1ra vez aplicaciones con Oracle ADF no tenemos claro como usamos la seguridad en nuestras aplicaciones.
Con Oracle Forms comúnmente usamos usuario y clave de base de datos, sin embargo en aplicaciones empresariales web se plantea otra arquitectura para nuestros sistemas de información.
A continuación mostrare una posible arquitectura para aplicaciones ADF y haremos foco en esta oportunidad en la configuración de la seguridad.

En la figura se indica que el Weblogic contiene un contexto de seguridad, nuestra aplicación ADF y un Datasource.
Nuestra aplicación ADF para obtener los datos de la base de datos utiliza el servicio Datasource, si la pantalla que queremos visualizar necesita que el usuario este autenticado, va a utilizar el Security Realm para autenticar el usuario y la aplicación luego le muestra la pantalla o le permite realizar la acción que solicito.
Dentro del reino de seguridad, uno de los componentes principales son los proveedores de autenticación que nos permiten autenticar a los usuarios de manera segura.
En la consola hacemos clic en la opción “Security Realms” en donde se listan los reinos de seguridad, por default solo hay uno llamado “myrealm”, configuraremos este reino para que utilice un LDAP para la autenticación de los usuarios.

Al ingresar a “myrealm”, vemos que hay varias solapas con distintas opciones para la configuración. Lo importante es que para cada reino podemos definir distintos “Providers” es decir, proveedores para la autenticación, esto es muy práctico cuando uno posee varias fuentes de datos para la autenticación.

Por defecto Weblogic trae 2 (dos) providers, el que nos interesa es el “DefaultAutenticator” este provider contiene el usuario “weblogic” que usamos para la acceder a la consola, allí debemos realizar algún cambio para luego registrar nuestro propio provider.
En la solapa de configuración del provider “DefaultAutenticator” hay una opción control flag, esta opción indica como es la secuencia de autenticación del provider, debemos cambiarla a SUFFICIENT. Esto debemos hacelo asi, porque cuando tengamos otros providers, el Weblogic con el usuario y clave intentará verificar esos datos con cada uno de los providers definidos, entonces, si falla en el 1ro. intentará en el 2do. y asi sucesivamente hasta probar con todos. Si valida con alguno se detiene y le permite el acceso

A continuación crearemos un provider nuevo, que será nuestro OpenLdap, para ellos volvemos a la lista de providers y presionamos el boton “new” tal como se indica en la figura siguiente.

A continuación veremos que se muestra una pantalla en donde debemos ingresar el nombre el provider ( cualquier que nosotros elijamos ) y el tipo de autenticador, como verán es una lista muy grande entre los tipos de autenticadores que podemos elegir.
Nosotros para este ejemplo elegiremos “OpenLdap-Authenticator”.

Luego de crear nuestro provider, volvemos a la lista de provider y elegimos “OpenLdapTest” para poder editar y configurar los datos del LDAP.
Lo primero que debemos es setear el “Control Flag” a “SUFFICIENT” tal como lo hicimos con el “DefaultAuthenticator”. Luego ingresamos a la solapa Provider Specific y alli ingresamos los datos del OpenLdap para la autentificación.
Luego de ingresar todos los datos del OpenLdap, debemos tildar el checkbox “Use Retrieved User Name as Principal”. Esto no servirá para que luego desde nuestras aplicaciones ADF podamos obtener el “User Name” del usuario conectado, el cual podemos usarlo en la auditoría por ejemplo.

Luego de configurar los datos y salvar los cambios, nos pedirá que reiniciemos el Weblogic para que los cambios sean efectivos y esté disponible el nuevo Provider.
Volvemos a ingresar al reino de seguridad por defecto “myrealm” vemos una solapa de “Users and Groups” en donde podremos verificar si la configuración del OpenLdap funciono, ya que debe mostrarnos los usuarios y grupos del LDAP, en la figura se muestra un ejemplo en donde se ve que el usuario “iriartea” pertenece al Provider “openLdapTest”.

Con esto finalizamos la configuración del weblogic y la seguridad de acceso con openLDAP.
Publicado por Marcelo Vásquez. Especialista en Java y Oracle ADF, posee más de 13 años de experiencia en tecnologías ORACLE. Se desempeña como consultor, arquitecto y capacitador en JSDK, JEE, Frameworks y Oracle ADF.