- PR -

WEB.XMLのurl-patternについて

1
投稿者投稿内容
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2005-04-20 22:14
フォルダ構成は以下のようになっており
webapps-TEST-controller
-TEST2
TEST以下に対して認証をかけたいのですが、

<url-pattern>/TEST/*</url-pattern>
では認証はかからず
<url-pattern>*</url-pattern>
ではTEST,TEST2にもかかってしまいました。

どうしたらうまくいくんでしょう。

<対象WEB.XML>
$CATALINA_HOME/conf/web.xml

<URL例>
http://localhost/TEST/controller/AAA

<対象コード部>
<security-constraint>
<web-resource-collection>
<web-resource-name>Authentication of FormAuth</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
</security-constraint>
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2005-04-21 10:00
こんにちわ。

直接的な回答じゃないんですが

$CATALINA_HOME/conf/web.xmlではなくて
$CATALINA_HOME/webapps/TEST/WEB-INF/web.xmlに個々のアプリケーションの
設定を書けば一発で解決ではないんでしょうか?

$CATALINA_HOME/webapps/TEST/WEB-INF/web.xmlであれば
<url-pattern>*</url-pattern>

でご希望の動作がかなうはずです。


そもそも$CATALINA_HOME/conf/web.xmlは複数のアプリケーション共通で
使用するための設定ですので、認証などのアプリケーションごとの設定
を書くことはお作法としてはあまり頂けないのではないでしょうか。

どうでしょう。
Kira
ぬし
会議室デビュー日: 2004/10/30
投稿数: 252
投稿日時: 2005-04-21 12:13
ご返答ありがとうございます。

すいません。その点についてはどうしても変更できないため、、、
現状の方法で打開策はないでしょうか?
よろしくお願いいたします。
(株)ぽち
ぬし
会議室デビュー日: 2002/09/10
投稿数: 376
投稿日時: 2005-04-22 10:28
私はそのような使い方はしてこなかったもので知らなかったのですが
少し試してみたところご希望の動作は不可能であるということがわか
りました。

全アプリケーションに共通ということで以下のような挙動になるようです。


$CATALINA_HOME/conf/web.xmlに以下を記述

<security-constraint>
<web-resource-collection>
<web-resource-name>Authentication of FormAuth</web-resource-name>
<url-pattern>/admin/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>*</role-name>
</auth-constraint>
</security-constraint>

WEBアプリケーションとして以下を配備

work1
work2

各々のコンテキスト配下にadminディレクトリを設置


この設定で、両アプリケーションのadmin配下にセキュリティがかかりました。


つまり、$CATALINA_HOME/conf/web.xmlに記述される/(ルート)は既に各
アプリケーションのルートであるということです。
1

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