2016-05-18 3 views

答えて

2

セキュリティのコンテキスト/質問によく似ています。カスタムロールの作成を検討しましたか?たとえばROLE_USER_PASSED

あなたは、あなたが行うことができますsecurity.ymlファイルで、この役割を確認するか、@Security("has_role('ROLE_USER_PASSED')")

+0

いいですね、私はそのオプションをチェックしましたが、チェックが失敗した場合にリダイレクトする方法はありますか? –

+0

はい、クイック検索では、認証ハンドラがこれを行うことができるはずです([この回答](https://stackoverflow.com/questions/8308050/how-to-disable-redirection-after-login-check- symfony-2)) – kero

0

であなたのコントローラに注釈を付けることができどちらかそれが記載のように@Securityアノテーションを使用して:http://symfony.com/doc/current/bundles/SensioFrameworkExtraBundle/annotations/security.html

特に:

/** 
* @Security("user.passedTutorial()") 
*/ 

UPD。それはチェックするように、まだ使用ファイアウォール(http://symfony.com/doc/current/reference/configuration/security.html)にaccess_denied_handlerを実装するために必要なのはそうすることによってhttp://symfony.com/doc/current/cookbook/security/access_control.html#securing-by-an-expression

:最後に問題がsecurity.ymlファイルのACCESS_CONTROLセクションの式を使用して解決することができる

リクエスト/ユーザーを再度実行し、リダイレクトを実行します。

+0

これはただ1つのコントローラへのアクセスを制限するだけで、コントローラから1ページにリダイレクトする方法が必要です(チェックが失敗した場合) –

+0

入手しました。それでは、http://symfony.com/doc/current/cookbook/security/access_control.html#securing-by-an-expressionのような表現を使用することができます。 –

+0

このlokks素晴らしい@ドミトリー、私は来週それを試してみます。 回答を編集して作業用のexmpleを追加できる場合は、それを受け入れることができます –

関連する問題