にグローバルルート: User->passedTutorial()
私はチュートリアルのページを持っている、と彼らはDBのチェックに合格しない場合<code>/tutoroal</code>にユーザーに送信するグローバルリダイレクト を必要とする条件
私はルート設定でこれを行うことができますコントローラ/モデルメソッドを呼び出す?
にグローバルルート: User->passedTutorial()
私はチュートリアルのページを持っている、と彼らはDBのチェックに合格しない場合<code>/tutoroal</code>にユーザーに送信するグローバルリダイレクト を必要とする条件
私はルート設定でこれを行うことができますコントローラ/モデルメソッドを呼び出す?
セキュリティのコンテキスト/質問によく似ています。カスタムロールの作成を検討しましたか?たとえばROLE_USER_PASSED
?
あなたは、あなたが行うことができますsecurity.ymlファイルで、この役割を確認するか、@Security("has_role('ROLE_USER_PASSED')")
であなたのコントローラに注釈を付けることができどちらかそれが記載のように@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セクションの式を使用して解決することができる
リクエスト/ユーザーを再度実行し、リダイレクトを実行します。
これはただ1つのコントローラへのアクセスを制限するだけで、コントローラから1ページにリダイレクトする方法が必要です(チェックが失敗した場合) –
入手しました。それでは、http://symfony.com/doc/current/cookbook/security/access_control.html#securing-by-an-expressionのような表現を使用することができます。 –
このlokks素晴らしい@ドミトリー、私は来週それを試してみます。 回答を編集して作業用のexmpleを追加できる場合は、それを受け入れることができます –
いいですね、私はそのオプションをチェックしましたが、チェックが失敗した場合にリダイレクトする方法はありますか? –
はい、クイック検索では、認証ハンドラがこれを行うことができるはずです([この回答](https://stackoverflow.com/questions/8308050/how-to-disable-redirection-after-login-check- symfony-2)) – kero