- - PR -
j_security_checkの振る舞いを変更したい
1
| 投稿者 | 投稿内容 | ||||
|---|---|---|---|---|---|
|
投稿日時: 2004-05-26 15:30
こんにちわ。
Form認証をj_security_checkにより 設定したwebアプリケーションがあります。 本アプリケーションの認証に関する振る舞いは以下です。 1.セキュリティ区域に直接要求があり、 かつ認証が済んでいない場合はログイン 画面へリダイレクトする。 2.正常にログイン後、1.でリクエストされた URLへ自動的に要求を飛ばす。 ※1.がなく直接ログイン画面から処理した場合は ログイン後TOP画面へ遷移する。 このような感じになると思うのですが 2.の振る舞いを変えたいと思っています。 具体的には以下の例 /webapps login.html /secutiry top.html next.html /security配下を認証対象とした場合 ログインしないで直接 http://...../security/next.htmlを要求すると http://...../login.htmlにリダイレクトされます。 後に正常にログインした場合 http://...../security/next.htmlを表示します。 ここで http://...../security/next.htmlではなく、常に http://...../security/top.htmlを表示させるよう にしたいのですが何か方法はありますでしょうか? web.xmlの要素を調べたのですが、それらしい要素 はないようでした。 情報あればお願い致します。 もしくは、weblogicだったらそのへん柔軟に設定 できるよ、とかでも結構です。 | ||||
|
投稿日時: 2004-05-26 15:47
>もしくは、weblogicだったらそのへん柔軟に設定
>できるよ、とかでも結構です。 そういう話はサポートに問い合わせてみてはいかがでしょうか? せっかく商用の製品を使っているんですから。 | ||||
|
投稿日時: 2004-05-26 16:03
、と言いつつちょっと調べてみたらありますね。認証を行うAPIが。
http://edocs.beasys.co.jp/e-docs/wls/docs81/security/thin_client.html#1035574 WLS に依存しない方法で実現するとすれば referer を確認して、転送元がトップページじゃなければトップページにリダイレクトしてしまう、という方法がありますね。 トップページにリダイレクトすればやはりまだログインしていないので再度ログインページにリダイレクトされますので。 [ メッセージ編集済み 編集者: インギ 編集日時 2004-05-26 16:06 ] | ||||
|
投稿日時: 2004-05-26 16:04
説明不足ですいません。 検証環境はTomcat4.1で実験しています。 weblogic云々の記述については、weblogicだったら websphereだったら、とかそのような設定が 可能な製品があったら知りたいという意味です。 | ||||
|
投稿日時: 2004-05-26 16:06
返信を書いていたら返信が。。 情報ありがとうございます。 見てみますー。 | ||||
|
投稿日時: 2004-05-26 16:12
なるほど。製品を購入しているわけではないんですね。
でも、評価中っていうことで相談すれば相手はしてくれますよ。少なくともBEAなら。 たぶん、ログインフォームの post 先を j_security_check ではなく、独自の認証サーブレットにすればいいわけですね。もちろんこのサーブレットを認証対象にしてはいけません。 サーブレットからは weblogic.servlet.security.ServletAuthentication.login() を呼び出して、トップページへリダイレクトするようなコーディングをするだけだと思います。 [ メッセージ編集済み 編集者: インギ 編集日時 2004-05-26 16:14 ] | ||||
|
投稿日時: 2004-05-26 16:22
ありがとうございます。 やっぱり独自の実装が必要なんですかねぇ。。 うまいこと設定だけで変えられるのかな、なんて あわい期待をしていたのですが。 頂いた情報を参考にもっと調べてみます。 | ||||
1
