symfony2 访问控制限制 ROLE_SUPER_ADMIN
symfony2 access control restrict ROLE_SUPER_ADMIN
我想限制某些路由被所有角色(SUPER_ADMIN,包括 ADMIN)访问,除了 (ROLE_CUSTOM)
其中 ROLE_CUSTOM 是为指定路由创建的自定义角色。
唯一可以访问此路由的角色是 (ROLE_CUSTOM)
我想通过 security.access_control.yml 或防火墙配置来控制它。
我知道我可以使用 is_granted 功能,但我想通过 security.access_control.yml 或防火墙配置来控制它。
我怎样才能做到这一点?
角色很简单,基本上是您根据需要发明和使用的字符串,因此 ROLE_SUPER_ADMIN
和 ROLE_ADMIN
已经是您创建的自定义角色。 那么一切都取决于你的角色层次 (Reference):
security:
role_hierarchy:
ROLE_CUSTOM: ROLE_USER
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
要让您保护 ROLE_CUSTOM
用户的 URL 模式,只需执行以下操作 (Reference):
security:
access_control:
- { path: ^/exclusive-path$, role: ROLE_CUSTOM }
准备好了!只有 ROLE_CUSTOM
的用户可以访问 /exclusive-path
路径。
我想限制某些路由被所有角色(SUPER_ADMIN,包括 ADMIN)访问,除了 (ROLE_CUSTOM)
其中 ROLE_CUSTOM 是为指定路由创建的自定义角色。
唯一可以访问此路由的角色是 (ROLE_CUSTOM)
我想通过 security.access_control.yml 或防火墙配置来控制它。
我知道我可以使用 is_granted 功能,但我想通过 security.access_control.yml 或防火墙配置来控制它。
我怎样才能做到这一点?
角色很简单,基本上是您根据需要发明和使用的字符串,因此 ROLE_SUPER_ADMIN
和 ROLE_ADMIN
已经是您创建的自定义角色。 那么一切都取决于你的角色层次 (Reference):
security:
role_hierarchy:
ROLE_CUSTOM: ROLE_USER
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
要让您保护 ROLE_CUSTOM
用户的 URL 模式,只需执行以下操作 (Reference):
security:
access_control:
- { path: ^/exclusive-path$, role: ROLE_CUSTOM }
准备好了!只有 ROLE_CUSTOM
的用户可以访问 /exclusive-path
路径。