認証まわりの話

Jetspeed2 のユーザー認証まわりの話をまとめておく。J2 では、ユーザーの認証・承認にJAASの仕組みを使っているけど、デフォルトのログイン関係で呼ばれるのは、org.apache.jetspeed.security.impl.DefaultLoginModule になる。っで、誰がこのモジュールを使えと指定しているかというと、jetspeed-securityコンポーネントに入っている login.conf です。その中には、

Jetspeed {
org.apache.jetspeed.security.impl.DefaultLoginModule required;
};

と書いてある。このファイルの指定方法だけど、-Djava.security.auth.login.config=login.conf とかで指定する場合もあるが、J2 ではorg.apache.jetspeed.security.impl.AuthenticationProviderImplが

System.setProperty("java.security.auth.login.config", loginConfigUrl.toString());

を呼んで、設定しています。ここでいうloginConfigUrl.toString()っていうのは、クラスローダーのリソースから解決され、ファイル名自体は、このコンポーネントは、Spring で new されるから、WEB-INF/assembly/security-providers.xml で変更可能(試したことはないけど)。まぁ、わざわざ変えなくても、WEB-INF/classesにlogin.conf を置いて、モジュールを設定すればそれに切り替わるはず。

コメントを残す

メールアドレスが公開されることはありません。