Java Database Connectivity (JDBC) 認証モジュールにより、OpenSSO が、JDBC 対応ドライバを提供する任意の SQL (Structured Query Language) データベースを通じてユーザーを認証できるようになります。SQL データベースへの接続は、JDBC ドライバを通して直接行うか、JNDI 接続プールを通して行います。JDBC 属性はレルム属性です。属性は次のとおりです。
JNDI (Java Naming and Directory Interface) 接続プールまたは JDBC ドライバのいずれかを使用して、SQL データベースへの接続タイプを指定します。オプションは次のとおりです。
JNDI から取得された接続プール
非持続 JDBC 接続
JNDI 接続プールは、配下の Web コンテナの設定を利用します。
「接続タイプ」で JNDI を選択した場合は、このフィールドに接続プール名を指定します。JDBC 認証では Web コンテナから提供される JNDI 接続が使用されるので、ここで設定した JNDI 接続プールがほかの Web コンテナの接続と一致しなくなることがあります。例については、『OpenSSO Administration Guide』を参照してください。
「接続のタイプ」で JDBC を選択した場合は、SQL データベースから提供される JDBC ドライバをこのフィールドに指定します。たとえば、com.mysql.jdbc.Driver と指定します。
「接続のタイプ」で JDBC を選択した場合は、データベース URL を指定します。たとえば、mySQL の場合は、jdbc.mysql://hostname:port/databaseName と指定します。
JDBC 接続を使用してデータベースに接続するユーザーの名前を指定します。
「データベースに接続するユーザー」に指定したユーザーのパスワードを定義します。
パスワードを確認します。
SQL データベースのパスワードカラム名を指定します。
ログインしようとしているユーザーのパスワードを取得するための SQL 文を指定します。次に例を示します。
select Password from Employees where USERNAME = ?
データベースから取得したパスワードをユーザー入力の形式に変換して、パスワードを比較するためのクラス名を指定します。このクラスは、JDBCPasswordSyntaxTransform インタフェースを実装している必要があります。
認証レベルは認証方法ごとに個別に設定します。この値は、認証メカニズムの信頼度を示します。ユーザーが認証を受けると、この値がセッションの SSO トークンに格納されます。ユーザーがアクセスするアプリケーションに SSO トークンが提供されると、そのアプリケーションは格納されている値を使用して、ユーザーにアクセスを許可するのに十分なレベルかどうかを判別します。SSO トークンに格納されている認証レベルが必要な最小値に満たない場合、アプリケーションはユーザーにより高い認証レベルのサービスで認証を再度受けるよう要求することがあります。デフォルト値は 0 です。
注 – 認証レベルの指定がない場合、SSO トークンはコア認証属性の 「デフォルト認証レベル」で指定した値を格納します。