2012-04-23 3 views
0

Symfony2の例外に関する2つの「簡単な質問」があります。 ここでは、問題の説明に従います。 TokenNotFoundException(またはAccessDeniedException)をコントローラーにスローします。その例外がスローされた場合、フレームワークはログインページに自動的にリダイレクトされます。TokenNotFoundExceptionまたはAccessDeniedExceptionをスローすると、なぜSymfony2のログインページが表示されるのですか?

  1. なぜですか?
  2. 例外がスローされた後に呼び出されるようにページをカスタマイズするにはどうすればよいですか?

ありがとうございます。質問1について

答えて

1

回答:

Symfony\Component\Security\Http\Firewall\ExceptionListenerクラスを見てください。 onKernelExceptionメソッドは仕事をします...

+0

私は今理解した!どのように2番目の質問を解決するための任意のアイデア? – JeanValjean

+0

ここでやったようにonKernelExceptionを置き換えるサービスを書く必要があると思いますか?http://stackoverflow.com/questions/7465751/symfony2-manipulate-request-response-from-the-kernel-exception-listener? – JeanValjean

+0

私はSymfony2フレームワークが単にログインページにユーザーを転送すべきではないと思います!何らかのエラーが表示されるはずです!カスタマイズされたメッセージを使用して$ errorオブジェクトをセキュリティコンテキストに設定する方法を見ていきます。 – JeanValjean