1

SonataAdminBundleで管理者を保護しようとしています

ログイン用にfosUserBundleを使用してSonataUserBundleを追加します。だから私はユーザー、グループ、役割を追加することができます

security.ymlで

role_hierarchy:
    ROLE_ADMIN: ROLE_ADMIN
    ROLE_IT: ROLE_IT
    ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_IT]


access_control:
    - { path: ^/sonata/login$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/sonata/logout$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/sonata/login-check$, role: IS_AUTHENTICATED_ANONYMOUSLY }
    - { path: ^/sonata, role: [ROLE_ADMIN] }
    - { path: ^/sonata/api/monolog, role: [ROLE_IT] }

ソナタにアクセスするには接続する必要があります

ただし、ROLE_ITがなくても、すべてのユーザーがルート/ sonata / api/monologにアクセスできます。

管理者をセキュリティで保護するにはどうすればよいですか。また、ユーザーがリンクにアクセスできる場合にのみリンクを表示するにはどうすればよいですか。

4

2 に答える 2

4

管理者ユーザーは、アクティブなセキュリティ トークンですべての役割を持っている必要があります。

現在の状態ですべての役割を持っていない場合は、メモリ セキュリティ プロバイダーをアクティブ化し、すべての役割でアカウントを指定して再認証する必要があります。

于 2012-11-04T18:30:27.950 に答える
0

セキュリティ ハンドラとして acl を使用します。

リソース: SonataAdminBundle セキュリティ

于 2012-11-27T10:13:06.060 に答える