Inhalt

> # Attribute für JDBC-Authentifizierung

> Bei den Attributen für die JDBC-Authentifizierung (Java Database Connectivity) handelt es sich um Organisationsattribute. Die diesen Attributen in der Dienstkonfiguration zugewiesenen Werte werden als Standardwerte der Vorlage für die JDBC-Authentifizierung verwendet. Die Dienstvorlage muss erstellt werden, wenn der Dienst für die Organisation registriert wird. Die Standardwerte können nach der Registrierung durch den Administrator der Organisation geändert werden. Organisationsattribute werden nicht an Einträge der Organisation vererbt. Die Attribute für die JDBC-Authentifizierung sind:

> - "Verbindungstyp"
> - "JNDI-Name Verbindungs-Pool"
> - "JDBC-Treiber"
> - "JDBC-URL"
> - "Benutzer zum Verbinden mit der Datenbank"
> - "Benutzer zum Verbinden mit der Datenbank"
> - "Passwort zum Verbinden mit der Datenbank"
> - "Passwort zum Verbinden mit der Datenbank (Bestätigung)"
> - "Passwortspalte in Datenbank"
> - "Vorbereitete Anweisung"
> - "Klasse zum Umwandeln der Passwortsyntax"
> - "Authentifizierungsebene"

> ## Verbindungstyp

> Dieses Feld gibt den Verbindungstyp zur SQL-Datenbank unter Verwendung eines JNDI-Verbindungs-Pools (Java Naming and Directory Interface) oder eines JDBC-Treibers an. Zur Auswahl stehen folgende Optionen:

> - Verbindungs-Pool über JDNI abgerufen
> - Nicht persistente JDBC-Verbindung

> Der JNDI-Verbindungs-Pool verwendet die Konfiguration des zugrunde liegenden Web-Containers.

> ## JNDI-Name Verbindungs-Pool

> Wenn als Verbindungstyp JNDI ausgewählt ist, gibt dieses Feld den Namen des Verbindungs-Pools an. Da bei der JDBC-Authentifizierung der vom Web-Container bereitgestellte JNDI-Verbindungs-Pool verwendet wird, ist das Setup des JNDI-Verbindungs-Pools möglicherweise nicht mit anderen Web-Containern konsistent.

> Das folgende Beispiel veranschaulicht die Einrichtung eines Verbindungs-Pools für Web Server und MySQL 4.0:

> 1. Erstellen Sie in der Web Server Console einen JDBC-Verbindungs-Pool mit folgenden Attributen:

> poolName (Poolname): samplePool

> DataSource Classname (Klassenname der Datenquelle). com.mysql.jdbc.jdbc2.optional.MysqlDatacSource

> serverName (Servername): Servername des mySQL-Servers

> Anschluss: Nummer des Anschlusses, an dem mySQL-Server ausgeführt wird

> user (Benutzer): Benutzername der Datenbank

> password (Passwort): Passwort des Benutzers

> databaseName (Datenbankname): Name der Datenbank

> Hinweis | Die in den folgenden Schritten erwähnte jar-Datei, die die DataSource-Klasse und die JDBC-Treiberklasse enthält, sollte zum Anwendungsklassenpfad hinzugefügt werden.

> 2. Konfigurieren Sie die JDBC-Ressourcen. Erstellen Sie in der Web Server Console eine JDBC-Ressource mit folgenden Attributen:

> JNDI-Name: jdbc/samplePool

> Poolname: samplePool

> Datenressource aktiviert: on

> 3. Fügen Sie der Datei sun-web.xml der Anwendung folgende Zeilen hinzu:

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

> 4. Fügen Sie der Datei web.xml der Anwendung folgende Zeilen hinzu:

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

> Wenn Sie die Einstellungen vorgenommen haben, lautet der Wert für dieses Attribut wie folgt:

> java:comp/env/jdbc/mySQL

> ## JDBC-Treiber

> Wenn als Verbindungstyp JDBC ausgewählt ist, gibt dieses Feld den JDBC-Treiber an, der von der SQL-Datenbank bereitgestellt wird. Beispielsweise:

> com.mysql.jdbc.Driver

> ## JDBC-URL

> Dieses Feld gibt den Datenbank-URL an, wenn als Verbindungstyp JDBC ausgewählt wurde. Der URL für mySQL lautet beispielsweise:

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

> ## Benutzer zum Verbinden mit der Datenbank

> Dieses Feld gibt den Benutzernamen an, von dem eine Datenbankverbindung für die JDBC-Verbindung hergestellt wird.

> ## Passwort zum Verbinden mit der Datenbank

> In diesem Feld wird das Passwort für den unter "Benutzer zum Verbinden mit der Datenbank" angegebenen Benutzer definiert.

> ## Passwort zum Verbinden mit der Datenbank (Bestätigung)

> Bestätigung des Passworts.

> ## Passwortspalte in Datenbank

> In diesem Feld wird der Name der Passwortspalte in der SQL-Datenbank angegeben.

> ## Vorbereitete Anweisung

> In diesem Feld wird die SQL-Anweisung angegeben, mit der das Passwort des sich anmeldenden Benutzers abgerufen wird.

> select Password from Employees where USERNAME = ?

> ## Klasse zum Umwandeln der Passwortsyntax

> Dieses Attribut gibt den Klassennamen an, der das von der Datenbank abgerufene Passwort in das Format der Benutzereingabe umwandelt, um die Passwörter zu vergleichen. Diese Klasse muss die Schnittstelle JDBCPasswordSyntaxTransform implementieren.

> ## Authentifizierungsebene

> Die Authentifizierungsebene wird für jede Authentifizierungsmethode separat eingestellt. Mit diesem Wert wird angegeben, wie stark einer Authentifizierung vertraut wird. Nach der Authentifizierung eines Benutzers wird dieser Wert im SSO-Token für die betreffende Sitzung gespeichert. Wird das SSO-Token einer Anwendung vorgelegt, auf die der Benutzer zugreifen möchte, bestimmt die Anwendung anhand des gespeicherten Werts, ob die Authentifizierungsebene ausreicht, um dem Benutzer Zugriff zu gewähren. Wenn die in einem SSO-Token gespeicherte Authentifizierungsebene nicht dem erforderlichen Mindestwert entspricht, kann die Anwendung den Benutzer auffordern, sich über einen Dienst mit einer höheren Authentifizierungsebene erneut zu authentifizieren. Der Standardwert ist 0.

Inhalt