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

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:

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:
  2. 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.


  3. Configure los recursos JDBC. En la consola de Web Server, cree un recurso JDBC con los siguientes atributos:
  4. Nombre JNDI: jdbc/samplePool

    Nombre de conjunto: conjuntoEjemplo

    Data Resource Enabled (Recurso de datos activado): on

  5. Agregue las siguientes líneas al archivo sun-web.xml de la aplicación:
  6. <resource-ref>

    <res-ref-name>jdbc/mySQL</res-ref-name>

    <jndi-name>jdbc/conjuntoEjemplo</jndi-name>

    <resource-ref>

  7. Agregue las siguientes líneas al archivo web.xml de la aplicación:
  8. <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