2012-03-18 9 views
0

私はWebアプリケーションを保護するためにJAASを使用しています。タイトルによれば、問題は、ログインページの代わりに保護されたフォルダにあるホームページを取得することです。実際、ホームページは私のウェルカムページです。ところで、WebブラウザにURL(/myappJaas/protected/admin/homeadmin.xhtml)を書き込むと正常に動作します。これはweb.xmlファイルです。ログインページの代わりに保護されたページを取得するのはなぜですか?

<welcome-file-list> 
    <welcome-file>/protected/admin/homeadmin.xhtml</welcome-file> 
</welcome-file-list> 
<security-constraint> 
    <web-resource-collection> 
     <web-resource-name>admins</web-resource-name> 
     <url-pattern>/protected/admin/*</url-pattern> 
    </web-resource-collection> 
    <auth-constraint> 
     <role-name>admin</role-name> 
    </auth-constraint> 
</security-constraint> 
<login-config> 
    <auth-method>FORM</auth-method> 
    <form-login-config> 
     <form-login-page>/public/login.xhtml</form-login-page> 
     <form-error-page>/public/errorlogin.xhtml</form-error-page> 
    </form-login-config> 
</login-config> 
<security-role> 
    <role-name>admin</role-name> 
</security-role> 

答えて

1

<welcome-file>の目的を誤解しています。これは、ディレクトリのデフォルトのインデックスファイルの唯一のファイル名を表す必要があります。エンドユーザがディレクトリを要求すると、このファイルがエンドユーザに提示されます。コンテナは、設定されたウェルカムファイルをエンドユーザに透過的にディスパッチし、リダイレクトを送信しません。ただし、現在のURLは公開されています。

代わりに完全なリダイレクトを送信します。フィルタで、またはindex.xhtmlウェルカムファイルの<meta http-equiv="refresh">、または架空のindex.xhtmlウェルカムファイルに関連付けられたマネージドBeanのコンストラクタで行うことができます。

関連する問題