- PR -

tomcat 認証

1
投稿者投稿内容
ベルトコンベア
常連さん
会議室デビュー日: 2006/10/25
投稿数: 31
投稿日時: 2006-12-07 22:27
アプリケーションに認証機能を追加しようと考えています。
以下のweb.xmlの場合で、urlパターンを2種類(例えば /A/* 、 /B/*)
設けたいと考えているのですが、どのように記述すればいいのかがわからず
困っています。
どんな些細な事でもいいので、ご教授願います。

tomcatのバージョンはTomcat5.0.28です。
<security-constraint>
<web-resource-collection>
<web-resource-name>Java samples</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>java</role-name>
</auth-constraint>
</security-constraint>



[ メッセージ編集済み 編集者: ベルトコンベア 編集日時 2006-12-07 23:04 ]
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-12-07 23:29
security-constraint 要素を2つ書けばいいかな?
ベルトコンベア
常連さん
会議室デビュー日: 2006/10/25
投稿数: 31
投稿日時: 2006-12-08 16:47
お返事ありがとうございます。
そのとおりでした。

しかし/B/*でloginエラーが出た時(/A/*のみで認められているパスで)、
予期しているエラーページ<form-error-page>#########</form-error-page>の方にいかずに、
デフォルトのエラーページ”要求されているリソースへのアクセスは--"
が表示されてしまいます。

何故でしょうか。インギさん、また分かる方がおられましたら、ご教授願います。


[ メッセージ編集済み 編集者: ベルトコンベア 編集日時 2006-12-08 17:35 ]
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-12-08 19:39
「/B/*でloginエラーが出た時(/A/*のみで認められているパスで)」ってどういう意味でしょう?

/A/* でログインに失敗したときは form-error-page に飛ばされるけど、
/B/* でログインに失敗したときは form-error-page に飛ばされずアプリケーションサーバのデフォルトの認証エラーページが表示されてしまう、ということでしょうか?
ベルトコンベア
常連さん
会議室デビュー日: 2006/10/25
投稿数: 31
投稿日時: 2006-12-08 23:35
その通りです。いつもありがとうございます。

先に作っていた/A/*の方ではloginエラーが起こったときにform-error-pageページへ移るのですが、
後に追加した/B/*の方では移りません。
そして一度errorが出てしまうと、同じurlにアクセスした時に、
新しいウィンドウを開きもう一度アクセスしない限り、
認証画面ではなくてerrorページが出てしまいます。
/A/*の方では起こりません。


[ メッセージ編集済み 編集者: ベルトコンベア 編集日時 2006-12-08 23:44 ]
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-12-09 01:53
web.xml の書き方の問題なのかどうかを切り分けるため、まずは記載する順序を変えてみてはいかがでしょうか。
順序を変えても同じく /B/* の方だけで問題が発生するのであれば何か別の所に問題があるのかもしれません。
ベルトコンベア
常連さん
会議室デビュー日: 2006/10/25
投稿数: 31
投稿日時: 2006-12-09 22:59
インギさん、お返事ありがとうございます。

順序を変えてもうまくいかなかったので、元に戻しました。

でも/A/* も/B/*も両方,
form-error-pageへ飛ぶようになりました。


[ メッセージ編集済み 編集者: ベルトコンベア 編集日時 2006-12-10 01:26 ]
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2006-12-09 23:05
1.順序を変えてもうまくいかなかった
2.元に戻した
3.もう一度順序を/A/* も/B/*も両方
ん?3つ目は何をしたのでしょうか?
どうして解決したのか読み取れませんでした。
1

スキルアップ/キャリアアップ(JOB@IT)