【发布时间】:2026-02-19 13:10:02
【问题描述】:
在我的网站中,我想让一些用户能够通过单击按钮来更改他们的角色。我通过以下方式实现它:
$post = Request::createFromGlobals();
if($post->request->has('change') && $user->hasRole('ROLE_MEDIA') == False){
$em = $this->getDoctrine()->getManager();
$user->setRoles(array('ROLE_MEDIA'));
$em->flush();
}
它工作正常,检查数据库后,我可以在主控制器中恢复标志而没有问题。问题如下:单击按钮并访问具有 ROLE_MEDIA 的用户的受限页面后,我收到 403 错误。 Symfony 似乎没有检测到新的用户角色。我正在使用以下代码限制某些页面:
/**
*
* @Security("has_role('ROLE_MEDIA')")
*/
我不明白这个问题,因为我可以在我的控制器中访问正确的值...在此先感谢
【问题讨论】:
-
尝试检查是否找到解决方案here
-
注销后重新登录还能用吗?
-
感谢您提供@VitaliyRyaboy 的网址!我可以在那里找到解决方案,谢谢您的帮助
标签: php symfony security controller restriction