Contenido

> # Atributos de autenticación JDBC

> Los atributos de autenticación JDBC (Java Database Connectivity) son atributos de organización. Los valores aplicados a estos atributos en "Configuración de servicio" se convierten en los valores predeterminados para la plantilla de autenticación JDBC. Es necesario crear la plantilla de servicio después de registrar el servicio para la organización. El administrador de la organización puede cambiar los valores predeterminados después del registro. Los atributos de organización no los heredan las entradas de la organización. Los atributos de autenticación JDBC son:

> - "Tipo de conexión"
> - "Nombre JNDI de grupo de conexión"
> - "Controlador JDBC"
> - "Dirección URL de JDBC"
> - "Usuario para conectarse a la base de datos"
> - "Usuario para conectarse a la base de datos"
> - "Contraseña para conectarse a la base de datos"
> - "Contraseña para conectarse a la base de datos (Confirme)"
> - "Columna de contraseñas en la base de datos"
> - "Instrucción preparada"
> - "Clase para transformar la sintaxis de contraseña"
> - "Nivel de autenticación"

> ## Tipo de conexión

> Este campo especifica el tipo de conexión con la base de datos SQL, ya sea a través de un conjunto de conexiones JNDI (Java Naming and Directory Interface) o por medio de un driver JDBC. Las opciones son las siguientes:

> - Se recupera el conjunto de conexiones por medio de JDNI
> - Conexión JDBC no persistente

> El conjunto de conexiones JNDI utiliza la configuración del contenedor web subyacente.

> ## Nombre JNDI de grupo de conexión

> Si está seleccionado JNDI en “Tipo de conexión”, este campo especifica el nombre del conjunto de conexiones. Dado que la autenticación JDBC utiliza el conjunto de conexiones JNDI provisto por el contenedor web, la configuración del conjunto de conexiones JNDI puede no ser consistente con la de otros contenedores web.

> El ejemplo siguiente muestra cómo configurar un conjunto de conexiones para Web Server y MySQL 4.0:

> 1. En la consola de Web Server, cree un conjunto de conexiones JDBC con los siguientes atributos:

> poolName (nombre del conjunto): conjuntoEjemplo

> Data Source Classname (Nombre de clase del origen de datos): com.mysql.jdbc.jdbc2.optional.MysqlDatacSource

> serverName (Nombre de servidor): nombre del servidor mySQL

> puerto: número del puerto en el que se está ejecutando el servidor mySQL

> usuario: nombre de usuario de la base de datos

> contraseña: contraseña del usuario

> databaseName (Nombre de base de datos): nombre de la base de datos

> Nota | Tanto el archivo jar que contiene la clase “DataSource”, como la clase del controlador JDBC mencionada en los pasos siguientes, deberían ser agregados a la ruta de clase de la aplicación.

> 2. Configure los recursos JDBC. En la consola de Web Server, cree un recurso JDBC con los siguientes atributos:

> Nombre JNDI: jdbc/samplePool

> Nombre de conjunto: conjuntoEjemplo

> Data Resource Enabled (Recurso de datos activado): on

> 3. Agregue las siguientes líneas al archivo sun-web.xml de la aplicación:

> <resource-ref>
> <res-ref-name>jdbc/mySQL</res-ref-name>
> <jndi-name>jdbc/conjuntoEjemplo</jndi-name>
> <resource-ref>

> 4. Agregue las siguientes líneas al archivo web.xml de la aplicación:

> <resource-ref>
> <description>mySQL Database</description>
> <res-ref-name>jdbc/mySQL</res-ref-name>
> <res-type>javax.sql.DataSource</res-type>
> <res-auth>Container</res-auth>
> <resource-ref>

> Una vez que haya completado la configuración, el valor para este atributo es el siguiente:

> java:comp/env/jdbc/mySQL

> ## Controlador JDBC

> Si está seleccionado JDBC en “Tipo de conexión”, este campo especifica el controlador JDBC provisto por la base de datos SQL. Por ejemplo:

> com.mysql.jdbc.Driver

> ## Dirección URL de JDBC

> Si está seleccionado JDBC en “Tipo de conexión”, este campo especifica la dirección URL de la base de datos. Por ejemplo, la dirección URL para mySQL es:

> jdbc.mysql://nombrehost:puerto/nombreBasedeDatos

> ## Usuario para conectarse a la base de datos

> Este campo especifica el nombre de usuario desde el cual se realiza la conexión de base de datos para la conexión JDBC.

> ## Contraseña para conectarse a la base de datos

> El campo define la contraseña del usuario especificado en “Usuario para conectarse a la base de datos”.

> ## Contraseña para conectarse a la base de datos (Confirme)

> Confirme la contraseña.

> ## Columna de contraseñas en la base de datos

> Este campo especifica el nombre de la columna de contraseñas en la base de datos SQL.

> ## Instrucción preparada

> Este campo especifica la instrucción SQL que recupera la contraseña del usuario que está iniciando sesión.. Por ejemplo:

> select Contraseña from Empleados where NOMBREUSUARIO = ?

> ## Clase para transformar la sintaxis de contraseña

> Este atributo especifica el nombre de la clase que transforma la contraseña recuperada de la base de datos al formato de entrada del usuario, con el objeto de comparar contraseñas. Esta clase debe implementar la interfaz JDBCPasswordSyntaxTransform.

> ## Nivel de autenticación

> El nivel de autenticación se define por separado para cada método de autenticación. El valor indica en qué medida se debe confiar en una autenticación. Cuando un usuario se ha autenticado, este valor se almacena en el token SSO para la sesión. Cuando el token SSO se presenta a una aplicación a la que desea acceder el usuario, la aplicación utiliza el valor almacenado para determinar si el nivel es suficiente para permitir el acceso al usuario Si el nivel de autenticación almacenado en el token SSO no cumple el valor mínimo necesario, la aplicación puede solicitar al usuario que se vuelva a autenticar a través de un servicio con un nivel de autenticación más alto. El valor predeterminado es 0.

Contenido