gpt4 book ai didi

symfony - 如何检查用户是否已登录 Symfony?

转载 作者:行者123 更新时间:2023-12-02 10:38:59 25 4
gpt4 key购买 nike

我收到了这个表格:

{{ form_start(form) }}
<input type="submit" class="form_submit_button" name="register_interest" value="Add to favourites"/>

{{ form_end(form) }}

我想检查用户是否登录,我这样做了:

 {% if is_granted('IS_AUTHENTICATED_FULLY') %}

如果用户未登录,它会隐藏按钮。

即使我没有登录,我也希望该按钮显示,并且在表单提交后检查用户是否已登录。

我该怎么做?

谢谢!

最佳答案

检查必须在您的 php Controller 中执行。此外,您还可以执行 JavaScript 检查,以防止在用户未登录时提交表单。

要检查 Controller 中的用户登录情况:

 if ($this->isGranted('ROLE_USER') == false) {
// show some error message, throw exception etc...
}

另一种方法:

$this->denyAccessUnlessGranted('ROLE_USER');

要检查客户端(javascript),您可以执行以下操作:

{% if not is_granted('IS_AUTHENTICATED_REMEMBERED') %}

<script>
// wrap into document.ready() if needed
$('#your_submit_button_id').on('click', function(e) {
e.preventDefault();
alert('You must be logged in to use this function');
});
</script>

{% endif %}

关于symfony - 如何检查用户是否已登录 Symfony?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35125729/

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