#### JDBC

El módulo de autenticación Conectividad de base de datos de Java (JDBC, Java Database Connectivity) permite a OpenSSO autenticar usuarios mediante cualquier base de datos de Lenguaje de consulta estructurado (SQL, Structured Query Language) que proporcione controladores habilitados para JDBC. La conexión a la base de datos SQL se puede realizar directamente mediante un controlador JDBC o mediante un grupo de conexión JNDI. Los atributos de JDBC son atributos de dominio. Los atributos son:

- Tipo de conexión

- Nombre JNDI de grupo de conexión

- Controlador JDBC

- URL de JDBC

- Conectar este usuario a la base de datos

- Contraseña para conectarse a la base de datos

- Contraseña para conectarse a la base de datos (confirmar)

- Cadena de la columna de contraseña

- Declaración preparada

- Clase para transformar la sintaxis de la contraseña

- Nivel de autenticación

##### Tipo de conexión

Especifica el tipo de conexión a la base de datos SQL, utilizando un grupo de conexión JNDI (Java Naming and Directory Interface) o un controlador JDBC. Las opciones son:

- El grupo de conexión se recupera mediante JDNI

- Conexión JDBC no persistente

El grupo de conexión JNDI utiliza la configuración del contenedor Web subyacente.

##### Nombre JNDI de grupo de conexión

Si se selecciona JNDI en el tipo de conexión, este campo especifica el nombre del grupo de conexión. Debido a que la autenticación JDBC utiliza el grupo de conexión JNDI que el contenedor Web proporciona, es posible que la configuración del grupo de conexión JNDI no se adapte correctamente a otros contenedores Web. Consulte el documento "OpenSSO Administration Guide" para obtener ejemplos.

##### Controlador JDBC

Si se selecciona JDBC en Tipo de conexión, este campo especifica el controlador JDBC que la base de datos SQL proporciona. Por ejemplo, `com.mysql.jdbc.Driver`.

##### URL de JDBC

Especifica la dirección URL de la base de datos si se selecciona JDBC en Tipo de conexión. Por ejemplo, la dirección URL para mySQL es `jdbc.mysql://hostname:port/databaseName`.

##### Conectar este usuario a la base de datos

Especifica el nombre de usuario desde el que se realiza la conexión a la base de datos para la conexión JDBC.

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

Define la contraseña para el usuario especificado en User to Connect to Database (Usuario para conectarse a la base de datos).

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

Confirme la contraseña.

##### Cadena de la columna de contraseña

Especifica el nombre de la columna de contraseñas en la base de datos SQL.

##### Declaración preparada

Especifica la instrucción SQL que recupera la contraseña del usuario que ha iniciado una sesión. Por ejemplo:

     select Password from Employees where USERNAME = ?

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

Especifica el nombre de la clase que transforma la contraseña recuperada de la base de datos al formato de los datos introducidos por el usuario, para comparar las contraseñas. Esta clase debe implementar la interfaz `JDBCPasswordSyntaxTransform`.

##### Nivel de autenticación

El nivel de autenticación se define de forma independiente para cada método de autenticación. El valor indica en qué medida se debe confiar en un mecanismo de autenticación. Una vez que el usuario se ha autenticado, este valor se guarda en el token SSO de la sesión. Cuando se presenta el token SSO 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 guardado en un token SSO no satisface el valor mínimo necesario, la aplicación puede solicitar al usuario que se autentique de nuevo mediante un servicio con un mayor nivel de autenticación. El valor predeterminado es 0.

Nota – Si no se especifica ningún nivel de autenticación, el token SSO almacena el valor especificado en el Nivel de autenticación predeterminado del atributo de autenticación "Principal".