在我的网站中,只有少数用户有权访问某些链接(ROLE_ADMIN 等)。当以普通用户身份登录并尝试访问这些链接时,我收到 Symfony AccessDeniedHttpException
,这意味着它可以工作。
问题是,我如何创建一个模式对话框(我猜是 jQuery)来简单地指示用户数据太明智了?
我不知道如何在 Twig 中执行此操作,因为我必须渲染包含脚本的变量?至少知道执行此操作的正确方法会很好。
最佳答案
据我了解,如果用户没有足够的权限单击(或继续)此链接,您需要打开一个模式窗口,并向用户发送一些消息,对吗?
快速简单的解决方案:
我们有一个像这样的链接(例如):
<a href="{{ path("some_route")}}"> click me</a>
您可以检查当前用户是否具有 Angular 色 (is_granted) ROLE_ADMIN 然后显示它,否则显示一些带有弹出窗口的特定链接,如下所示: main.html.twig:
{% if is_granted('ROLE_ADMIN') %}
<a href="{{ path("some_route")}}"> click me</a>
{% else %}
show a link with popup here
{% endif %}
您可以使用bootstrap popover或者任何你喜欢的弹出窗口。
关于javascript - Symfony:访问被拒绝时显示 jQuery 模式对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46810138/