フォームベースのセキュリティを活用する必要のあるWebアプリケーションの設定がTomcat 7にあります。このWebアプリケーションでは、org.tuckey.web.filters.urlrewrite.UrlRewriteFilter
を使用してURLを書き換えます。私は、Webアプリケーションにアクセスしようとすると、セキュリティはバイパスされUrlRewriteFilterがFORM認証で間違ったlogin.htmlページにリダイレクトされる
<security-role>
<role-name>foo.pr</role-name>
</security-role>
<security-constraint>
<display-name>Security Constraint</display-name>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<!-- Define the context-relative URL(s) to be protected -->
<url-pattern>/*</url-pattern>
<!-- If you list http methods, only those methods are protected -->
</web-resource-collection>
<auth-constraint>
<!-- Anyone with one of the listed roles may access this area -->
<role-name>all.foo</role-name>
</auth-constraint>
<!-- <user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint> -->
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>Authentication</realm-name>
<form-login-config>
<form-login-page>/login.html</form-login-page>
<form-error-page>/error.html</form-error-page>
</form-login-config>
</login-config>
<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
<init-param>
<param-name>confReloadCheckInterval</param-name>
<param-value>60</param-value> <!-- -1, 0, or something like 60 -->
</init-param>
<init-param>
<param-name>logLevel</param-name>
<param-value>INFO</param-value>
</init-param>
<init-param>
<param-name>statusEnabledOnHosts</param-name>
<param-value>localhost, 192.168.188.*</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
、およびlogin.html
ファイルがUrlRewriteFilter
を通過さ:
参考のために、ここで私のwebapps/.../WEB-INF
ディレクトリにweb.xml
ファイルの関連部分です。私はこの振る舞いを望まない。 webapps/ROOT
にあるlogin.html
ファイルを取得します。
これに関するガイダンスは本当に感謝しています。私は何か基本的なことを誤解しているかもしれません。他のファイルを参照する必要がある場合は、私に知らせてください。
ありがとうございます!