@Security
ルートに注釈を使用しようとしています。このような:
/**
* @return Response
* @Route("/action")
* @Security("has_role('ROLE_USER')")
* @Template()
*/
public function someAction()
{
return array();
}
セキュリティ制限によって例外が発生すると、メッセージが表示されますExpression "has_role('ROLE_USER')" denied access
。
これをエンド ユーザーに表示することは受け入れられないため、注釈用にメッセージをカスタマイズする方法を見つけようとしています。
簡単な回避策は、@Secutity
注釈を使用せず、次のようなコードを記述することです。
/**
* @return Response
* @Route("/action")
*
* @Template()
*/
public function someAction()
{
if (!$this->get('security.context')->isGranted('ROLE_USER')) {
throw new AccessDeniedException('You have to be logged in in order to use this feature');
}
return array();
}
しかし、これはあまり便利ではなく、読みにくいものです。
@Security
注釈にカスタム メッセージを書き込むことはできますか?