Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java System Access Manager 6 2005Q1 管理ガイド 

第 22 章
JDBC 認証属性

JDBC (Java Database Connectivity) 認証属性は組織属性です。サービス設定の下で組織属性に適用される値は、JDBC 認証テンプレートのデフォルト値になります。組織にサービスを登録したあと、サービステンプレートを作成する必要があります。デフォルト値は組織の管理者が登録後に変更できます。組織属性は組織のエントリに継承されません。JDBC 認証属性は次のとおりです。

接続タイプ

このフィールドは、JNDI (Java Naming and Directory Interface) 接続プールまたは JDBC ドライバを使用した、SQL データベースへの接続タイプを指定します。オプションは次のとおりです。

JNDI 接続プールは、背後の Web コンテナの設定を利用します。

接続プールの JNDI 名

「接続タイプ」で JNDI を選択した場合は、このフィールドで接続プール名を指定します。JDBC 認証では Web コンテナで提供される JNDI 接続プールを使用するので、JNDI 接続プールのセットアップがほかの Web コンテナ間との一貫性を失う可能性があります。

次の例は、Web Server および MySQL 4.0 の接続プールのセットアップ方法を示しています。

  1. Web Server コンソールで、次の属性を使用して JDBC 接続プールを作成します。
  2. poolName: samplePool

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

    serverName: MySQL サーバーのサーバー名

    port: MySQL サーバーが稼働するポート番号

    user: データベースのユーザー名

    password: ユーザーのパスワード

    databaseName: データベース名


    次のステップで説明する DataSource クラスと JDBC ドライバクラスが記述されている jar ファイルを、アプリケーションクラスのパスに追加してください。


  3. JDBC リソースを設定します。Web Server コンソールで、次の属性を使用して JDBC リソースを作成します。
  4. JNDI name: jdbc/samplePool

    Pool name: samplePool

    Data Resource Enabled: on

  5. アプリケーションの sun-web.xml ファイルに次の行を追加します。
  6. <resource-ref>

       <res-ref-name>jdbc/mySQL</res-ref-name>

       <jndi-name>jdbc/samplePool</jndi-name>

    </resource-ref>

  7. アプリケーションの web.xml ファイルに次の行を追加します。
  8. <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>

この設定作業が完了すると、この属性の値は次のようになります。

JDBC ドライバ

「接続タイプ」で JNDI を選択した場合は、このフィールドで SQL データベースによって提供される JDBC ドライバを指定します。次に例を示します。

JDBC URL

「接続タイプ」で JDBC を選択した場合は、このフィールドでデータベース URL を指定します。たとえば、mySQL の URL は次のようになります。

データベースにする接続ユーザー

このフィールドは、JDBC 接続でデータベースへの接続元となるユーザー名を指定します。

データベースへ接続するためのパスワード

このフィールドは、「データベースにする接続ユーザー」で指定したユーザーのパスワードを定義します。

データベースへ接続するためのパスワード (確認)

パスワードを確認します。

データベース内のパスワードカラム

このフィールドは、SQL データベースのパスワード列名を指定します。

準備されているステートメント

このフィールドは、ログインしようとするユーザーのパスワードを取得する SQL 文を指定します。次に例を示します。

パスワード構文を変換するためのクラス

この属性は、パスワードの比較のためにデータベースから取得したパスワードをユーザー入力の形式に変換するクラス名を指定します。このクラスでは JDBCPasswordSyntaxTransform インタフェースを実装する必要があります。

認証レベル

認証レベルは認証方法ごとに個別に設定します。この値は、認証の信頼度を示します。ユーザーが認証を受けると、この値がセッションの SSO トークンに格納されます。ユーザーがアクセスしたいアプリケーションに SSO トークンが提供されると、そのアプリケーションは格納されている値を使用して、ユーザーにアクセスを許可するのに十分なレベルかどうかを判別します。SSO トークンに格納されている認証レベルが必要な最小値に満たない場合、アプリケーションはユーザーにより高い認証レベルのサービスで認証を再度受けるよう要求することがあります。デフォルト値は 0 です。



前へ      目次      索引      次へ     


Part No: 819-1938.   Copyright 2005 Sun Microsystems, Inc. All rights reserved.