我目前在我的页面上有表单,无论用户是否登录,这些表单都在那里。一旦用户登录,他们就会看到这些表单之一(使用 CSRF)。
问题是,如果在身份验证后显示此框,则 CSRF 令牌无效。我已经通过允许自己提交表单而不进行身份验证检查并$form->isValid()
返回来确认这一点,true
而在登录后,它给了我false
以下错误:
CSRF 令牌无效。请尝试重新提交表单。
我想有三种解决方案 - 阻止 Symfony 在身份验证时重新生成/使 CSRF 令牌无效,从这些表单中删除 CSRF 令牌或在身份验证后生成我的表单(但是我宁愿避免这种情况)。我当前的解决方案是通过身份验证传回一个新的 CSRF 令牌并设置表单令牌input
值。
附加:有谁知道如何查看当前分配的所有 CSRF 令牌?会议似乎没有举行他们。