问题描述
如何拒绝访问除某些控制器之外的所有控制器? 我有角色: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 (将#修改为@)