Symfony 是否有任何最简单的方法允许具有特定条件的用户查看页面?
目前,有一个安全性如下的签出页面Symfony 是否有任何最简单的方法允许具有特定条件的用户查看页面?,symfony,Symfony,目前,有一个安全性如下的签出页面 /** * @Route("/checkout") * @Security("has_role('ROLE_ADMIN')") */ 现在所有管理员都可以查看此页面,我希望允许具有特定条件的用户与所有管理员一起访问此页面 我可以通过删除安全性并在每个操作中添加一个条件来实现这一点 那么有什么简单的方法来处理这个问题吗?你有很多可能: @安全性,并执行以下操作: /** * @Route("/{id}/edit", name="admin_post_ed
/**
* @Route("/checkout")
* @Security("has_role('ROLE_ADMIN')")
*/
现在所有管理员都可以查看此页面,我希望允许具有特定条件的用户与所有管理员一起访问此页面
我可以通过删除安全性并在每个操作中添加一个条件来实现这一点
那么有什么简单的方法来处理这个问题吗?你有很多可能:
/**
* @Route("/{id}/edit", name="admin_post_edit")
* @Security("user.getEmail() == post.getAuthorEmail()")
*/
public function editAction(Post $post)
{
// ...
}
post
实体,因为您有post$post
。有时,您可能需要@ParamConverter
抛出$this->createAccessDeniedException('您无法访问此页面!')代码>
您可以创建自己的自定义函数来授予或不授予访问权限,然后从注释中调用它。这个函数可以是
返回hasRole('ROLE_ADMIN')| |另一个条件()代码>
在这里看到更多
你能把你的security.yml文件放进去吗?最简单的方法是使用symfony防火墙如果你想为你的页面设置自定义条件,你必须在每个操作中写入。我想你在寻找投票者