Tomcat の JDBCRealm の設定例です。
まず、利用する Realm を conf/server.xml 内に記述しなければなりません。
UserDatabaseRealm は、Tomcat をインストールした時の manager アプリケーションで使われています。
従って、設定もデフォルトでされています。
ユーザーの登録等は、初期画面のコメントに従っていけば、おおよそ出来ると思います。
前にも書きましたが、単に、ユーザーIDとパスワードだけを管理するのではなく、
「役割(ロール)を定義してそれをユーザーに割り当てている」という点を理解しておいてください。
「権限なんて必要ない!」というのであれば、それはそれでかまいませんし、
適当な権限を設定しておいて、"後で使わない"という選択もあります。
代表的な、JDBC による Realm の例を紹介します。
まず、データベース側にテーブルを作成します。
create table users (
user_name varchar(15) not null primary key,
user_pass varchar(15) not null
);
create table user_roles (
user_name varchar(15) not null,
role_name varchar(15) not null,
primary key (user_name, role_name)
);
公式サイトでは、MySQL を例にしていますので、
ここでは、PostgreSQL で、DataSourceRealm を使っています。
まず、データソースを設定します。
testdb というデータベース名の例です。
</GlobalNamingResources>
:
<Resource
name="jdbc/testdb"
type="javax.sql.DataSource"
auth="Container"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/testdb"
username="hogehoge"
password="xxxx"
maxActive="20"
maxIdel="5"
maxWait="5000" />
</GlobalNamingResources>
上記の後に、Realm を設定します。接続情報を2回書かなくて良い。というメリットがあります。
<Realm className="org.apache.catalina.realm.DataSourceRealm"
dataSourceName="jdbc/testdb"
userTable="users" userNameCol="user_name" userCredCol="user_pass"
userRoleTable="user_roles" roleNameCol="role_name"/>
後、当然ですが複数の Realm を定義してもかまいません。
| « 前頁 | 次頁 » |