JDBCドライバをコピー †
- ojdbc14_g.jar を ${CATALINA_HOME}/common/lib にコピーします。
JDBC REALM の有効化 †
ユーザテーブルの作成 †
CREATE TABLE users (
name VARCHAR(255) NOT NULL PRIMARY KEY,
pass VARCHAR(255),
sex CHAR(1),
phone VARCHAR(255),
mail VARCHAR(255),
zip VARCHAR(16),
address NVARCHAR2(1024)
);
CREATE TABLE roles (
name VARCHAR(255) NOT NULL,
role VARCHAR(255) NOT NULL
);
- とりあえず、TOMCATの管理者を登録しておきます。(tomcat-users.xmlとおなじ内容)
- 最初に、暗号関係の関数は、デフォルトではユーザに実行権限がないので、実行権限を付与します
SQL> connect RSS as SYSDBA
SQL> grant execute on DBMS_CRYPTO to RSS
- パスワードを SHA1 でハッシュして格納します
INSERT INTO users(name,pass) VALUES ('tomcat',rawtohex(DBMS_CRYPTO.Hash(to_clob('dbtomcat'),3)));
INSERT INTO users(name,pass) VALUES ('admin' ,rawtohex(DBMS_CRYPTO.Hash(to_clob('dbadmin'),3)));
INSERT INTO users(name,pass) VALUES ('role1' ,rawtohex(DBMS_CRYPTO.Hash(to_clob('dbrole1'),3)));
INSERT INTO roles(name,role) VALUES ('tomcat','tomcat');
INSERT INTO roles(name,role) VALUES ('admin' ,'admin');
INSERT INTO roles(name,role) VALUES ('admin' ,'manager');
INSERT INTO roles(name,role) VALUES ('role1' ,'role1');
- RAW DBMS_CRYPTO.Hash(src,type)
返値は RAW 型。文字列にするときには raqwtohex() 関数を使う |
src | RAW/BLOB/CLOB |
type | 1(MD4),2(MD5),3(SHA1) |
Java