如何获取当前登录的角色 symfony?

Posted

技术标签:

【中文标题】如何获取当前登录的角色 symfony?【英文标题】:how to get the currently logged in role symfony? 【发布时间】:2018-11-14 17:32:52 【问题描述】:

我想获取当前登录用户的角色。因为我想在我的导航栏中显示有人可以帮助我吗?

我的问题是关于如何获得当前角色

【问题讨论】:

你试过什么?也在文档中... 我现在在我的树枝 app.user.roles 中尝试过,我没有使用 AuthorizationCheckerInterface。 【参考方案1】:

如果我没记错的话,你可以通过 app.user && app.user.roles 在 twig 中获得角色,但你会获得一系列角色。

希望对你有帮助。

【讨论】:

感谢您的回复,但如果我在我的树枝中直接使用 app.user.roles,则会引发此错误,这是错误:在呈现template("注意:数组到字符串的转换") 是的,因为它是一个数组,应该这样对待。如果您想转储所有角色,您可以使用自定义过滤器,例如加入 (twig.symfony.com/doc/2.x/filters/join.html) 或转储 (twig.symfony.com/doc/2.x/functions/dump.html) 在访问app.user.roles之前不要忘记测试用户是否存在以避免不必要的错误=) 但我不想转储所有角色。我只想显示登录的角色。 也许这可以帮助你更了解我: if ($authorizationChecker->isGranted(new Expression('"ROLE_INKOPER" in roles'))) return $this->redirectToRoute('homepageInkoper') ; 是否没有显示授予角色的选项?【参考方案2】:

你可以从当前用户获取,当我们获取角色时,它返回角色数组

$user = $this->getUser();
$role = $user->getRoles();

在树枝上

app.user.roles

【讨论】:

我只想在我的树枝中返回授予的角色。

以上是关于如何获取当前登录的角色 symfony?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Drupal 7 中获取当前登录用户的角色?

在jsp页面中如何获取到当前登录用户的角色id

Symfony2 在 Twig 中获取用户角色

Symfony2:在 FormBuilder 中获取用户角色列表

如何在 Symfony2 中获取代表当前用户的实体?

Laravel 5 new auth:获取当前用户以及如何实现角色?