3 回答
TA贡献2021条经验 获得超8个赞
bin/console debug:event-dispatcher kernel.request
帮助解决了这个问题。我正在使用
tags:
- { name: kernel.event_listener, event: kernel.response, method: onKernelResponse, priority: 10 }
在 Services.yml 中,它与
getSubscribedEvents()
因此我删除了标签,只保留了
public static function getSubscribedEvents()
{
return array(
KernelEvents::REQUEST => array('onKernelRequest', 10),
);
}
然后我通过给予其他两个监听器高优先级来将身份验证监听器移到下方,就像在 symfony 2.8 中一样
TA贡献1818条经验 获得超11个赞
将AuthorizationChecker注入您的班级
protected $authChecker;
public function __construct(AuthorizationChecker $authChecker)
{
$this->authChecker = $authChecker;
}
通过将其注入您的service.yml
XXXXXXXXX:
class: App\XXX\XXXX\XXXXX
arguments: [ "@security.authorization_checker" ]
然后使用它使用isGranted检查角色
if ($this->authChecker->isGranted('IS_AUTHENTICATED_ANONYMOUSLY')) {
}
- 3 回答
- 0 关注
- 187 浏览
添加回答
举报