好的,我在 symfony 的应用程序中有几个模块。我只有一个安全的模块:打开。我还有一个 layout.php,顶部包含一个选项卡式菜单,用于显示应用程序中每个模块的链接。此菜单还有一个部分,如果用户未登录,则显示用户链接到“登录”,如果用户登录,则显示“注销”链接。
当我尝试访问安全的模块时:我被转发到登录页面。我可以正常登录并创建cookie。如果我转到任何其他模块,菜单会显示“注销”链接。
假设我关闭浏览器(cookie 设置为在 15 天内过期)并再次打开浏览器,然后我转到主页模块。我应该登录,但菜单显示“登录”(认为没有用户登录)。我尝试访问 secure: on 模块,然后当页面重新加载时菜单显示“注销”链接,因为它现在读取 cookie。
我发现如果设置了 cookie,然后我关闭浏览器并在主页重新打开它,就会有两个 cookie,一个是“sfRemember”,另一个是“symfony”。在我访问安全模块并读取 cookie 后,“symony”的 cookie 与主页上显示的完全不同 - 这意味着它没有读取相同的 cookie,这就是为什么“注销”链接直到我才出现访问安全模块。如果在我打开该安全模块后返回主页,应用程序会很好地读取 cookie 并“显示注销”。
我真的不知道如何处理这个问题。任何帮助是极大的赞赏!