ホームページ  >  に質問  >  本文

Symfony2 では、アクセス許可を制限するためにバンドルのエントリ ファイルとしてコントローラーが必要です。

モニタリングにControllerListener.phpを使用していますか/

1. 同じコントローラーを介して複数のバンドルのアクセス権を制限する方法を知りたいです。たとえば、ユーザーがログインしていない場合に、ホームページまたはログイン ページに直接ジャンプします。
2. バンドルのアクセス許可を設定する方法。ユーザーベースです

为情所困为情所困2684日前431

全員に返信(2)返信します

  • 伊谢尔伦

    伊谢尔伦2017-05-16 16:48:22

    柔軟性がありすぎてメソッドが多すぎるので、とりあえず 1 つの側面を書き留めてみましょう:

    サードパーティのユーザー機能パッケージがあります: FOSUserBundle

    自分で作成する場合は、ログインフォームを使用する前に、ユーザー情報がどのように保存されるかをフレームワークに指示する必要があります。Doctrine とデータベースを使用する場合は、ユーザーエンティティを作成し、SymfonyComponentSecurityCoreUserUserInterface インターフェイスを実装する必要があります。

    (1) ユーザークラスを作成します

    リーリー

    (2) このユーザークラスを使用します

    リーリー

    (3) 権限制御を追加します

    セキュリティ検証は URL レベルで制御できます。バンドルに特定の URL ルールを共有させる場合、ルールを使用して制御できます。 リーリー

    Symfony 2 に付属する JMSSecurityExtraBundle を使用することもできます。これはアノテーションを使用して設定できます。

    リーリー

    Symfony 2 には多くのセキュリティコンポーネント設定項目があり、http://symfony.com/doc/current/refere... を参照してください。

    最も一般的なログインボックスフォームであるフォーム検証 (form_login) は、Symfony 2 セキュリティコンポーネントによってデフォルトでサポートされている検証方法の 1 つであり、その他には X.509、HTTP Basic、HTTP Digest などが含まれます。サードパーティを通じて検証される コード パッケージには、他の検証方法が追加されます。フォームバリデーションの設定項目は以下の通りですが、よく使われる項目をいくつかコメントしました:

    リーリー

    よりきめ細かい制御を提供する組み込み ACL もあります。しかし、それはもう一つの大きな章です。

    返事
    0
  • 某草草

    某草草2017-05-16 16:48:22

    ご回答ありがとうございます。組み込みの ACL は本当に強力です。ありがとうございます。

    返事
    0
  • キャンセル返事