security.yml中的Symfony3 regex access_control

时间:2018-02-15 14:14:50

标签: php regex symfony

我无法找到正确的正则表达式来为以下模式定义安全规则:

http://example.com/管理器/?CONF = XXXXX

可以根据连接的用户访问不同的目录。

例如:

/manager/conf=superadmin, role: ROLE_SUPER_ADMIN
/manager/conf=admin, role: ROLE_ADMIN
/manager/conf=user, role: ROLE_USER

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

据我所知,Symfony没有检查查询字符串。在您的情况下,最好的选择是定义这样的路由路径:/manager/conf/{role}然后配置access_control:

/manager/conf/superadmin, role: ROLE_SUPER_ADMIN
/manager/conf/admin, role: ROLE_ADMIN
/manager/conf/user, role: ROLE_USER

或者根据配置管理器的工作方式,您可以使用$role参数加载配置,该参数将传递给您的控制器。

另一种选择是使用选民(https://symfony.com/doc/current/security/voters.html)来验证是否应授予用户访问资源的权限。