gpt4 book ai didi

php - denyAccessUnlessGranted 在 Controller 多重角色

转载 作者:可可西里 更新时间:2023-11-01 12:32:34 25 4
gpt4 key购买 nike

我发现这个 Controller 方法可以帮助过滤角色名称的访问:

$this->denyAccessUnlessGranted('ROLE_EDIT', $item, 'You cannot edit this item.');

是否可以对多个角色使用相同的方法。我尝试过类似的方法,但它似乎不起作用:

$this->denyAccessUnlessGranted(array('ROLE_EDIT', 'ROLE_WHATEVER'), $item, 'You cannot edit this item.');

最佳答案

研究该方法显示了它是如何工作的

protected function denyAccessUnlessGranted($attributes, $object = null, $message = 'Access Denied.')
{
if (!$this->isGranted($attributes, $object)) {
throw $this->createAccessDeniedException($message);
}
}

所以你可以很容易地适应你的情况

在你的 Controller 中……喜欢:

if(!$this->isGranted('ROLE_EDIT', $item) && !$this->isGranted('ROLE_OTHER', $item)){
throw $this->createAccessDeniedException('not allowed');
}

关于php - denyAccessUnlessGranted 在 Controller 多重角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34748252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com