gpt4 book ai didi

symfony - 如何识别用户是否被假冒为Symfony2?

转载 作者:行者123 更新时间:2023-12-03 11:33:30 25 4
gpt4 key购买 nike

在使用Symfony2构建的应用程序中,我们希望 super 管理员能够模拟其他用户。通过为 super 管理员用户赋予ROLE_ALLOWED_TO_SWITCH角色即可轻松完成此操作。通过引用文档中建议的“somewhere?_switch_user =“的调用来实现切换。

但是,问题是要在模板中检测当前用户是否实际上已被模拟,以便在页面上打印到“某处?_switch_user = _exit”的链接,从而使模拟用户能够返回到其真实用户。

最佳答案

我已经有一段时间没有使用Symfony2了,所以我不确定,但是当您切换到另一个用户时,您将获得分配给该用户的所有角色以及一个额外的角色:ROLE_PREVIOUS_ADMIN。因此,我想您需要做的就是使用表决器检查是否使用表决器将这样的角色分配给了当前用户。

// Twig

{% if is_granted('ROLE_PREVIOUS_ADMIN') %}
<a href="...?_switch_user=_exit">EXIT</a>
{% endif %}

// PHP

<?php if ($view['security']->isGranted('ROLE_PREVIOUS_ADMIN')): ?>
<a href="...?_switch_user=_exit">EXIT</a>
<?php endif ?>

关于symfony - 如何识别用户是否被假冒为Symfony2?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6371712/

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