組み込みの特別な役割 ( IS_AUTHENTICATED_FULLY
、IS_AUTHENTICATED_REMEMBERED
、IS_AUTHENTICATED_ANONYMOUSLY
) は、ここで定義されています: AuthenticatedVoter。
app/config/security.yml
階層の形式で定義する必要がある他のすべてのロール。例えば:
security:
acl:
connection: default
# ...
role_hierarchy:
ROLE_SILVER: [ROLE_BRONZE]
ROLE_GOLD: [ROLE_SILVER]
ROLE_PLATINUM: [ROLE_GOLD]
ROLE_ADMIN: [ROLE_PLATINUM, ROLE_ALLOWED_TO_SWITCH]
お役に立てば幸いです。
UPDATE#1:
で実装されていAcl
ます。必要なものに対して多数の ACL を作成できます(たとえば、、、Class
) 。すべての for には、次のようなものが 1 つ以上あります。ClassField
Object
Acl
Domain
Entries
Entry#1: User with 'ROLE_BRONZE' allow to 'VIEW' this `Domain`
Entry#2: User with 'ROLE_SILVER' allow to 'EDIT' this `Domain`
等
したがって、role_hierarchy
ROLE_SILVER
allow toEDIT
およびVIEW
thisに従ってDomain
ください。ただしROLE_BRONZE
、許可するだけVIEW
です。
あなたController
の許可を確認することができます。詳細については、この例を参照してください。
更新 #2:
一部の権限を付与するには、MaskBuilderを使用します。