如何解决除少数控制器外,访问拒绝所有控制器 Symfony 3
如何拒绝访问除某些控制器之外的所有控制器? 我有角色:ROLE_SUPER_ADMIN、ROLE_ADMIN、ROLE_MANAGER。
如果我使用注释,那么一切都很好。 index 方法对 manager 可用,方法中的 ROLE_MANAGER 覆盖了 ROLE_ADMIN
/**
* @Security("has_role('ROLE_ADMIN')")
*/
class TestController extends Controller
{
/**
* @Security("has_role('ROLE_MANAGER')")
*/
public function index(): Response
{
return new Response('Test');
}
}
如果我拒绝除管理员以外的所有人的访问权限,则控制器中的覆盖将不起作用。我在 security.yml 中的 access_control:
access_control:
- { path: ^/login,role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/,role: ROLE_ADMIN }
access_control里面的路由我都可以写,但是list太大,不方便。并且在控制器中使用注解更方便。
我想这样做,以便在创建新控制器时,默认情况下它仅可用于 ROLE_ADMIN。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。