Symfony 2“您的会话已超时或您已禁用Cookie”

问题描述 投票:6回答:2

[三件事之一导致了这一点,我不确定这是哪三件事。因此,我将提及所有这三个,希望它可以帮助其他人节省时间。

最初,我在parameters.yml中更改了数据库用户凭据。由于相关用户无法从本地主机登录,因此无法正常工作。就是说,我使用该站点测试了连接,这可能会使cookie失效。

由于缺少图像,我遇到了一些缓存文件夹权限问题。因此,我必须像每次一样清除缓存并调整一些权限。

最后,我更改了security.yml的路径

        form_login:
            login_path:  /login
            check_path:  /login_check
        logout:
            path:   /logout

至:

        form_login:
            login_path:  /account/login
            check_path:  /account/login_check
        logout:
            path:   /account/logout

以及对routing.yml的适当更改

结果是,我已经登录的用户不再通过安全证书,并且如果我尝试通过其他用户/浏览器登录,我将始终面临:“您的会话已超时或您已禁用Cookie”

跟随红色鲱鱼,检查安全性,登录处理,redis等花了许多时间

下面的答案。

symfony session cookies login
2个回答
10
投票

我最终在这里找到了答案:Symfony authentication - can't get past login page in production(由pleerock回答)

但是希望将我的主题行中的错误消息与下面的此解决方案链接:

security:
    firewalls:
        main:
            form_login:
                require_previous_session: false

这解决了问题之前未登录的浏览器的问题。

对于已经登录的浏览器,我必须手动删除会话cookie才能使事情再次运行。


0
投票

我认为Adi的答案不是解决方案,请解决。

我确实意识到

在config.yml中,有cookie_domain参数;

session:
    save_path: ~
    cookie_domain: %cookie_domain%

如果使用自定义域(如test.myapp,则应在此处设置相同。当这些都不匹配时,会发生此问题。

它应该显示如下;

cookie_domain:'test.myapp'您的实际域:test.myapp

希望对您有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.