路由设置中的用户角色
User roles in route settings
要根据用户的角色检查用户是否有权访问控制器,我们通常在控制器的顶部做这样的事情:
$this->denyAccessUnlessGranted('ROLE_ADMIN');
或使用注释:
/**
* @Security("has_role('ROLE_ADMIN')")
*/
并且所有受保护的控制器都有这样的检查。
是否可以将此检查放在路由设置中,例如。 G。这样或以某种方式类似:
protected_route:
path: /top_secret
defaults: { _controller: '...', roles: [ROLE_ADMIN] }
?
是的,你应该看看这个页面:
http://symfony.com/doc/current/book/security.html#securing-url-patterns-access-control
# app/config/security.yml
security:
# ...
firewalls:
# ...
access_control:
# require ROLE_ADMIN for /admin*
- { path: ^/admin, roles: ROLE_ADMIN }
要根据用户的角色检查用户是否有权访问控制器,我们通常在控制器的顶部做这样的事情:
$this->denyAccessUnlessGranted('ROLE_ADMIN');
或使用注释:
/**
* @Security("has_role('ROLE_ADMIN')")
*/
并且所有受保护的控制器都有这样的检查。
是否可以将此检查放在路由设置中,例如。 G。这样或以某种方式类似:
protected_route:
path: /top_secret
defaults: { _controller: '...', roles: [ROLE_ADMIN] }
?
是的,你应该看看这个页面:
http://symfony.com/doc/current/book/security.html#securing-url-patterns-access-control
# app/config/security.yml
security:
# ...
firewalls:
# ...
access_control:
# require ROLE_ADMIN for /admin*
- { path: ^/admin, roles: ROLE_ADMIN }