WebOTX Manual V10.2 (第4版) 目次を表示 |
本節では、JDBCレルムを利用する場合の、ユーザの追加、削除の方法について説明します。ここではデータベースにOracleを使用することを前提としますが、操作はSQLで記述しますので、その他のデータベースでも利用することが可能です。
データベースのアプリケーションのインストール、データベースの作成方法、ログイン方法については、利用するデータベースのマニュアルを参照してください。
注意:JDBCに運用管理ユーザを作成する場合、ユーザ名がadmin、systemのユーザを作成する必要はありません。admin、systemはFileレルムのユーザを利用します。
ユーザおよびグループを登録するために、事前に次のようなテーブルを作成しておきます。
テーブル名:jdbc_user(任意)
フィールド名 | データ型 | 内容 |
userid(任意) | VARCHAR(10) | ユーザ名を登録します。※最大長はシステムの仕様に応じて適宜変更してください |
passwd(任意) | VARCHAR(32) | パスワードを登録します。※最大長はシステムの仕様に応じて適宜変更してください |
realm(任意) | VARCHAR(30) | レルム名を登録します。 DIGEST認証を行い、かつ複数のレルムがこのテーブルを参照する場合のみ必須フィールドとなります。 ※レルム名にはJDBCレルムのname値を登録します。 ※最大長はシステムの仕様に応じて適宜変更してください |
テーブル名:jdbc_role(任意)
フィールド名 | データ型 | 内容 |
userid(任意) | VARCHAR(10) | ユーザ名を登録します。※最大長はシステムの仕様に応じて適宜変更してください |
role(任意) | VARCHAR(10) | ロール名を登録します。※最大長はシステムの仕様に応じて適宜変更してください |
コマンドを利用して、テーブルを作成する方法について説明します。
次のコマンドを実行します。
CREATE TABLE jdbc_user(userid VARCHAR(10), passwd VARCHAR(30), realm VARCHAR(30));
CREATE TABLE jdbc_role(userid VARCHAR(10), role VARCHAR(10));
※太字箇所は任意です
※データの長さは、必要な長さを指定します。
テーブルの作成で、作成したテーブルjdbc_userおよびjdbc_roleを削除する手順を説明します。
次の、コマンドを実行します。
drop table jdbc_user;
drop table jdbc_role;
データベースにSQLで、ユーザを追加、削除する方法について説明します。
次のコマンドを実行します。(ユーザ名:user1、パスワードpasswordの登録例です)
INSERT INTO jdbc_user(userid, passwd) values ('user01', 'password');
※同一のユーザ名のエントリが複数あった場合は、最初に一致したエントリを使用します。
※パスワードのダイジェストは、次のコマンドで生成することができます。
> cd ${AS_INSTALL}/modules > java -cp ./web-core.jar org.apache.catalina.realm.RealmBase -a <ダイジェスト方式> <パスワード>
※ダイジェスト方式は3.3.1.JDBCレルムの設定で指定した方式を指定します。ダイジェスト方式にはMD5、SHA-1、SHA-256、SHA-384、SHA-512のいずれかを指定することができます。
ユーザの追加で、登録したユーザuser01を削除する手順を説明します。
次の、コマンドを実行します。
DELETE from jdbc_user where userid='user01';
SQLを利用して、ユーザの登録状況を確認する方法について説明します。
次の、コマンドを実行します。(ユーザ名 user01を確認する例です)
select * from jdbc_user where userid='user01';
データベースにSQLでグループの追加、削除する方法について説明します。グループは、ユーザ名とグループ名の組を1つエントリとして登録します。
SQLを利用して、グループを追加する行う方法について説明します。
INSERT INTO jdbc_role(userid, role) values ('user01', 'users');
グループの追加で作成したグループusersを削除する手順を説明します。
DELETE from jdbc_role where role='users';
・1人のユーザに複数のグループを設定する場合は、それぞれのグループに対して1つのエントリを作成してください。