#### JDBC

Le module d'authentification JDBC (Java Database Connectivity) permet à OpenSSO d'authentifier les utilisateurs grâce à des bases de données SQL (Structured Query Language) qui fournissent des pilotes JDBC. La connexion à la base de données SQL peut s'effectuer soit directement par l'intermédiaire d'un pilote JDBC soit par l'intermédiaire d'un pool de connexions JNDI. Les attributs JDBC sont des attributs de domaine. Ces attributs sont les suivants :

- Type de connexion

- Nom JNDI de pool de connexion

- Pilote JBDC

- URL JDBC

- Connecter cet utilisateur à la base de données

- Mot de passe pour la connexion à la base de données

- Mot de passe pour la connexion à la base de données (confirmer)

- Chaîne de colonne de mot de passe

- Instruction préparée

- Classe permettant de transformer la syntaxe du mot de passe

- Niveau d'authentification

##### Type de connexion

Indique le type de connexion à la base de données SQL, à l'aide d'un pool de connexions JNDI (Java Naming and Directory Interface) ou d'un pilote JDBC. Les options sont les suivantes :

- Pool de connexions récupéré via JDNI

- Connexion JDBC non persistante

Le pool de connexions JNDI utilise la configuration provenant du conteneur Web sous-jacent.

##### Nom JNDI de pool de connexion

Si JNDI est sélectionné dans l'attribut Type de connexion, ce champ indique le nom du pool de connexions. L'authentification JDBC utilisant le pool de connexions JNDI fourni par le conteneur Web, il est possible que la configuration du pool de connexions JNDI ne soit pas cohérente avec les autres conteneurs Web. Reportez-vous au manuel OpenSSO Administration Guide pour obtenir des exemples.

##### Pilote JBDC

Si JDBC est sélectionné dans Type de connexion, ce champ spécifie le pilote JDBC fourni par la base de données SQL. Par exemple, `com.mysql.jdbc.Driver`.

##### URL JDBC

Spécifie l'URL de la base de données si JDBC est sélectionné dans Type de connexion. Par exemple, l'URL de mySQL est `jdbc.mysql://nomhôte:port/nomBasededonnées`.

##### Connecter cet utilisateur à la base de données

Indique le nom d'utilisateur à partir duquel la connexion à la base de données est effectuée pour la connexion JDBC.

##### Mot de passe pour la connexion à la base de données

Définit le mot de passe de l'utilisateur spécifié dans le champ Utilisateur pour la connexion à la base de données.

##### Mot de passe pour la connexion à la base de données (confirmer)

Confirmez le mot de passe.

##### Chaîne de colonne de mot de passe

Indique le nom de la colonne de mot de passe dans la base de données SQL.

##### Instruction préparée

Spécifie l'instruction SQL qui récupère le mot de passe de l'utilisateur qui se connecte. Par exemple :

     select Password from Employees where USERNAME = ?

##### Classe permettant de transformer la syntaxe du mot de passe

Indique le nom de la classe qui transforme le mot de passe récupéré à partir de la base de données dans le format de l'entrée utilisateur à des fins de comparaison des mots de passe. Cette classe doit implémenter l'interface `JDBCPasswordSyntaxTransform`.

##### Niveau d'authentification

Le niveau d'authentification est défini séparément pour chaque méthode d'authentification. La valeur indique le niveau de confiance associé à un mécanisme d'authentification. Une fois qu'un utilisateur s'est authentifié, cette valeur est stockée dans le jeton SSO pour la session. Lorsque le jeton SSO est présenté à une application à laquelle l'utilisateur souhaite accéder, l'application utilise la valeur stockée pour déterminer si le niveau est suffisant pour accorder l'accès à l'utilisateur. Si le niveau d'authentification enregistré dans le jeton SSO ne correspond pas à la valeur minimale requise, l'application peut inviter l'utilisateur à s'authentifier à nouveau par l'intermédiaire d'un service avec un niveau d'authentification plus élevé. La valeur par défaut est 0.

Remarque – Si aucun niveau d'authentification n'est précisé, le jeton SSO stocke la valeur spécifiée dans l'attribut d'authentification Noyau Niveau d'authentification par défaut.