三件事之一导致了这个问题,我不确定是三件事中的哪一件。所以我会提到这三个,希望能帮助其他人节省时间。
最初我更改了parameters.yml中的数据库用户凭据
这不起作用,因为相关用户无法从本地主机登录。也就是说,我使用该站点来测试连接,这可能会扰乱 cookie。
由于缺少图像,我遇到了一些缓存文件夹权限问题。所以我必须像每次一样清除缓存并调整一些权限。
最后,我更改了 security.yml 的路径
form_login:
login_path: /login
check_path: /login_check
logout:
path: /logout
to:
form_login:
login_path: /account/login
check_path: /account/login_check
logout:
path: /account/logout
随着routing.yml中的适当更改
结果是我已经登录的用户不再通过安全凭证,如果我尝试通过不同的用户/浏览器登录,我总是面临:
“您的会话已超时或您已禁用 cookie”
我们花了很多时间关注转移注意力、检查安全性、登录处理、redis 等。
回答如下。
我最终在这里找到了答案:Symfony 身份验证 - 无法通过生产中的登录页面 https://stackoverflow.com/questions/9880943/symfony-authentication-cant-get-past-login-page-in-production/21725451#21725451(pleerock 的回答)
但想将我的主题行中的错误消息与下面的解决方案链接起来:
security:
firewalls:
main:
form_login:
require_previous_session: false
这解决了在出现问题之前尚未登录的浏览器的问题。
对于已经登录的浏览器,我必须手动删除会话 cookie 才能再次正常工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)