5.3.5 WebPasswordJDBCLoginModule
WebPasswordJDBCLoginModuleは,すでにデータベースを用いてユーザ管理をしている場合に使用するログインモジュールです。
入力されたユーザIDとパスワードを使って,データベース内に格納されているユーザ情報からパスワードを取得して認証します。
ua.conf(統合ユーザ管理のコンフィグレーションファイル)では,データベースに接続するための情報定義やエントリを検索する際に使用するSQL(SELECT文)を指定します。
WebPasswordJDBCLoginModuleではその内容を読み取り,HttpServletRequestからユーザIDを取得してJDBCを使ってデータベースにアクセスし,パスワードを取得してパスワード認証をします。WebPasswordJDBCLoginModuleの概要を次の図に示します。
また,WebPasswordJDBCLoginModuleでは,JDBCドライバのクラスをログインモジュール内で参照します。使用できるJDBCドライバとJDBCドライバの設定手順を次に示します。
- 〈この項の構成〉
(1) 使用できるJDBCドライバ
WebPasswordJDBCLoginModuleで使用できるデータベースとJDBCドライバを次の表に示します。
データベース |
JDBCドライバ |
|
---|---|---|
HiRDB※ |
HiRDB Type4 JDBC Driver |
|
Oracle |
Oracle 11g |
Oracle JDBC Thin Driver |
SQL Server |
SQL Server JDBC Driver |
(2) JDBCドライバの設定手順
JDBCドライバのクラスをua.conf(統合ユーザ管理のコンフィグレーションファイル)に設定します。また,JDBCドライバを任意のディレクトリに格納し,その場所をJ2EEサーバのクラスパスに追加してください。設定手順を次に示します。
-
ua.conf(統合ユーザ管理のコンフィグレーションファイル)に,次の内容を設定します。
-
使用するJDBCドライバに対応するJDBCドライバのクラス名
-
データベースと接続するためのURL
-
代理で接続するデータベースユーザとそのユーザのパスワード
データベースごとに設定例を次に示します。なお,太字部分はデータベースの環境に合わせて設定してください。
- HiRDBの場合
-
com.cosminexus.admin.auth.jdbc.driver.0=JP.co.Hitachi.soft.HiRDB.JDBC.HiRDBDriver
com.cosminexus.admin.auth.jdbc.conn.url.0=jdbc:hitachi:hirdb://DBID=22200,DBHOST=hostA
com.cosminexus.admin.auth.jdbc.conn.user.0=system
com.cosminexus.admin.auth.jdbc.conn.password.0=userpass
- Oracleの場合
-
com.cosminexus.admin.auth.jdbc.driver.0=oracle.jdbc.OracleDriver
com.cosminexus.admin.auth.jdbc.conn.url.0=jdbc:oracle:thin:@localhost:1521:orcl
com.cosminexus.admin.auth.jdbc.conn.user.0=system
com.cosminexus.admin.auth.jdbc.conn.password.0=userpass
- SQL Serverの場合
-
com.cosminexus.admin.auth.jdbc.driver.0=com.microsoft.sqlserver.jdbc.SQLServerDriver
com.cosminexus.admin.auth.jdbc.conn.url.0=jdbc:sqlserver://localhost:1433;DatabaseName=sqlserver
com.cosminexus.admin.auth.jdbc.conn.user.0=system
com.cosminexus.admin.auth.jdbc.conn.password.0=userpass
-
-
J2EEサーバが稼働するマシンの任意のディレクトリにJDBCドライバのJARファイルを格納します。
-
J2EEサーバのusrconf.cfg(オプション定義ファイル)に,手順2.で格納したJARファイルのパスを設定します。
設定例を次に示します。
add.class.path=<手順2.で格納したディレクトリ>/<JARファイル名>
なお,JARファイル名は接続するデータベースで異なります。
(3) 注意事項
-
Oracleの場合,データベース側で作成するユーザ情報用のテーブルのカラム(USERIDなど)にVARCHAR2型などの可変長文字列を指定してください。CHAR型などの固定長文字列にした場合は,パスワード認証に失敗することがあります。
-
SQL Serverへの認証モードのうち,Windows認証は使用できません。