Sommaire

> # Attributs d'authentification JDBC

> Les attributs d’authentification JDBC (Java Database Connectivity) sont des attributs d’organisation. Les valeurs qui leur sont affectées dans Configuration des services deviennent les valeurs par défaut du modèle Authentification JDBC. Le modèle de service doit être créé après enregistrement du service dans l’organisation. Les valeurs par défaut peuvent être modifiées par la suite par l'administrateur de l'organisation. Les attributs d'organisation ne sont pas transmis aux entrées de l'organisation. Les attributs d'authentification JDBC sont :

> - "Type de connexion"
> - "Nom JNDI de pool de connexion"
> - "Pilote JDBC"
> - "URL JDBC"
> - "Utilisateur pour la connexion à la base de données"
> - "Utilisateur pour la connexion à 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)"
> - "Colonne de mots de passe de la base de données"
> - "Instruction préparée"
> - "Classe permettant de transformer la syntaxe du mot de passe"
> - "Niveau d'authentification"

> ## Type de connexion

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

> - Pool de connexion récupéré via JNDI
> - Connexion JDBC non persistante

> Le pool de connexion JNDI utilise la configuration du conteneur Web sous-jacent.

> ## Nom JNDI de pool de connexion

> Si JNDI est sélectionné comme type de connexion, ce champ indique le nom du pool de connexion. Dans la mesure où l’authentification JDBC utilise le pool de connexion JNDI fourni par le conteneur Web, la configuration du pool de connexion JNDI peut ne pas être cohérente parmi les autres conteneurs Web.

> L’exemple qui suit montre comment configurer un pool de connexion pour Web Server et MySQL 4.0 :

> 1. Dans la console Web Server, créez un pool de connexion JDBC avec les attributs suivants :

> poolName: samplePool

> DataSource Classname: com.mysql.jdbc.jdbc2.optional.MysqlDatacSource

> serverName: nom de serveur du serveur mySQL

> port: numéro de port sur lequel est exécuté mySQL

> user: nom d’utilisateur de la base de données

> password: mot de passe de l’utilisateur

> databaseName: nom de la base de données

> Remarque | Le fichier jar qui contient la classe DataSource et la classe JDBC Driver mentionnées dans les étapes qui suivent doit être ajouté au chemin de la classe d’application.

> 2. Configurez les ressources JDBC. Dans la console Web Server, créez une ressource JDBC avec les attributs suivants :

> Nom JNDI : jdbc/samplePool

> Nom du pool : samplePool

> Ressource externe activée : on

> 3. Ajoutez les lignes suivantes au fichier sun-web.xml de l’application :

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

> 4. Ajoutez les lignes suivantes au fichier web.xml de l’application :

> <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>

> Une fois que vous avez complété les paramètres, la valeur de cet attribut est la suivante :

> java:comp/env/jdbc/mySQL

> ## Pilote JDBC

> Si JDBC est sélectionné comme type de connexion, ce champ indique le pilote JDBC fourni par la base de données SQL. Par exemple :

> com.mysql.jdbc.Driver

> ## URL JDBC

> Ce champ indique l’URL de la base de données si JDBC est sélectionné comme type de connexion. Par exemple, l’URL pour mySQL est :

> jdbc.mysql://hostname:port/databaseName

> ## Utilisateur pour la connexion à la base de données

> Ce champ indique le nom d’utilisateur à partir duquel se fait la connexion à la base de données pour la connexion JDBC.

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

> Ce champ définit le mot de passe pour l’utilisateur spécifié dans 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.

> ## Colonne de mots de passe de la base de données

> Ce champ indique le nom de la colonne de mot de passe dans la base de données SQL.

> ## Instruction préparée

> Ce champ indique l’instruction SQL qui récupère le mot de passe de l’utilisateur en cours de connexion. Par exemple :

> select Password from Employees where USERNAME = ?

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

> Cet attribut spécifie le nom de classe qui permet de transformer le mot de passe récupéré de la base de données au format de l’entrée utilisateur, à des fins de comparaison de mots de passe. Cette classe doit mettre en uvre l’interface JDBCPasswordSyntaxTransform.

> ## Niveau d'authentification

> Le niveau d'authentification est défini indépendamment pour chaque méthode d'authentification. La valeur indique le niveau de confiance accordé à une authentification. Une fois l'utilisateur authentifié, cette valeur est stockée dans le jeton SSO pour la durée de la session. Quand le jeton SSO est présenté à une application à laquelle l'utilisateur veut accéder, celle-ci 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 stocké dans un jeton SSO n'est pas suffisant, l'application peut inviter l'utilisateur à s'authentifier par l'intermédiaire d'un service doté d'un niveau d'authentification supérieur. La valeur par défaut est 0.

Sommaire