4

これは、アクセス制御リストの security.yml がどのように見えるかです。

access_control:
    - { path: ^/admin, roles: IS_AUTHENTICATED_FULLY }
    - { path: ^/admin, roles: ROLE_ADMIN }

私がやりたいことは、定義されたパスにアクセスするために、ユーザーが両方の役割 (ROLE_ADMIN と IS_AUTHENTICATED_FULLY) を持っている必要があるということです。しかし、上記のルールでは、ユーザーがいずれかの役割を持っている場合、ユーザーは定義されたパスにアクセスできますが、これは望ましくありません。また、次のようにルールを指定しようとしましたが、成功しませんでした:

 - { path: ^/admin, roles:[ROLE_ADMIN,IS_AUTHENTICATED_FULLY] }

定義されたパスにアクセスするためにユーザーが両方の役割を持つことを要求するルールを追加するにはどうすればよいですか?

4

3 に答える 3

1
IS_AUTHENTICATED_FULLY

ユーザーが実際に認証されるたびにtrueを返します。

匿名ユーザーは技術的に認証されています。つまり、匿名ユーザーオブジェクトのisAuthenticated()メソッドはtrueを返します。ユーザーが実際に認証されているかどうかを確認するには、IS_AUTHENTICATED_FULLYロールを確認します。

したがって、ユーザーにROLE_ADMINの役割があり、ログインしている場合、そのユーザーは完全に認証されています。結果として、この要件を設定する必要はありません。

- { path: ^/admin, roles: IS_AUTHENTICATED_FULLY }

完全に認証された蜂を含む(以下を参照)

- { path: ^/admin, roles: ROLE_ADMIN }

- { path: ^/admin, roles: IS_AUTHENTICATED_FULLY }

すべてのユーザーが管理セクションを表示できるようになります。

読む:http ://symfony.com/doc/current/book/security.html

于 2013-02-10T14:20:07.747 に答える