2012-03-05 8 views
0

私は基本的な春の認証を設定しました。ユーザーがページを開き、保護されたURLを入力すると、ログインフォームがレンダリングされますが、エラー403ページ(または選択した他のページ)を表示します。春のセキュリティ:認証されていないユーザーのログインフォームページの代わりにエラー403ページを表示

私が正しく理解すれば、ユーザーはまったく認証されていないため、access-denied-handlerを使用することはできません。

セキュリティで保護されたURLにアクセスすると、認証されていないユーザーにログインフォームページ以外のページを表示するにはどうすればよいですか?

答えて

2

form-loginを使用している場合は、デフォルトのAuthenticationEntryPointがログインページにリダイレクトされます。

entry-point-ref属性を使用してcustom entry pointを注入することで、これを無効にすることができます。

Http403ForbiddenEntryPointのコードをガイドラインとして使用できます(または、クライアントに送信される応答コードがすべて必要な場合は、直接使用することもできます)。

0

以下のタグをセキュリティコンテキストファイルに追加します。

access-denied-page="<name of the page>" 

は、以下のようなHTTPタグでこれを追加する:これは私のために動作しませんでした

<http auto-config="true" access-denied-page="/authenticationfailed.jsp"> 
+0

。私は 'access-denied-page ="/error/403 "'を設定しました。 URLはコントローラにマッピングされ、エラーコード403のデフォルトURLとしてweb.xmlにも設定されます。 – kurochenko

関連する問題