これはJDBCレルムの設定方法の例です。 この例ではMySQL JDBC driver を使用しま した。 1. データベースを作成します。 私は、"authority"という名前で作成しました。 2. 必要なテーブルを作成します。 1. ユーザテーブル ユーザテーブル。このテーブルはユーザ名とパスワードのフィ ールド を必要とします。 この例では、"users"をテーブル名 に、"user_name" をユーザ名を記録するカラムに、 "user_pass"をユーザのパスワードにしました。 2. ロールテーブル このテーブルには、このレルムの属するコンテナの管理下の展 開記述子 (deployment descriptor)で使用されているすべての ロールを設定する必要が あります。 この例では、"roles"を テーブル名に、"role_name"をロール名にしました。 注: この テーブルはTomcatでは全く使われません。 3. ロール-ユーザテーブル このテーブルはロールと個々のユーザを結び付けます。この例 では、 "user_roles"をテーブル名に、"role_name"をロール名 に、 ユーザ名はユーザテーブル中の物と同じカラム名にしま した。 (この例では"user_name"です。) テーブルを作成するためには、以下のSQLを使用しました。 create table users ( user_name varchar(15) not null primary key, user_pass varchar(15) not null ); create table roles ( role_name varchar(15) not null primary key ); create table user_roles ( user_name varchar(15) not null, role_name varchar(15) not null, primary key( user_name, role_name ) ); テーブル出力のサンプルは以下の通りです。 mysql> select * from users; +-----------+-----------+ | user_name | user_pass | +-----------+-----------+ | tomcat | tomcat | | user1 | tomcat | | user2 | tomcat | | user3 | tomcat | +-----------+-----------+ 4 rows in set (0.00 sec) mysql> mysql> select * from roles; +------------+ | role_name | +------------+ | tomcat | | role1 | +------------+ 2 rows in set (0.02 sec) mysql> mysql> select * from user_roles; +------------+-----------+ | role_name | user_name | +------------+-----------+ | tomcat | user1 | | role1 | user2 | | tomcat | tomcat | | role1 | tomcat | +------------+-----------+ 4 rows in set (0.00 sec) mysql> 3. Tomcatの設定 server.xmlファイルに情報を追加します。この例では以下のように設定し ました。 driverName --> データベースに接続するために必要なドライバ connectionURL --> データベースに接続するために使用されるコネクションURL userTable --> ユーザテーブル userNameCol --> ユーザテーブルのユーザ名で使われるカラム名 userCredCol --> ユーザテーブルのパスワードで使われるカラム名 userRoleTable --> ユーザのロールのテーブル roleNameCol --> ユーザテーブル中のユーザに与えられているロール名のカラム名 オプション: connectionName --> データベースに接続する時に使用される名前 connectionPassword データベースに接続する時に使用されるパスワード ヒント - JDBCドライバがlibディレクトリに存在することを確認してください。 - 接続に問題が起きる場合には、connectionNameとconnectionPasswordを指定する ことができます。 [訳注: これは新舘邦貴が翻訳しました。 日本語訳に対するコメントは、 tomcat-trans@nekoyanagi.com宛に送って下さい。]