好的我在symfony的应用程序中有几个模块。我只有一个安全的模块:打开。我还有一个layout.php,它在顶部包含一个选项卡式菜单,用于显示我的应用程序中每个模块的链接。如果用户未登录,此菜单还有一个显示用户链接的部分“登录”,如果用户已登录,则显示“注销”。
当我尝试访问安全模块时:我将转发到登录页面。我可以正常登录并创建cookie。如果我转到任何其他模块,菜单会显示“退出”链接。
让我说我关闭浏览器(cookie设置为15天后过期)并再次打开浏览器,然后我转到主页模块。我应该登录但是菜单显示“登录”而不是“没有用户登录”。我尝试访问secure:on模块,然后当页面重新加载时,菜单显示“注销”链接,因为它现在读取cookie。
我发现如果设置了cookie并且我关闭浏览器并在主页重新打开它,则会有两个cookie,一个'sfRemember'和第二个'symfony'。在我访问安全模块并读取cookie之后,'symony'的cookie与主页上显示的内容完全不同 - 这意味着它不会读取相同的cookie,这就是为什么“注销”链接不会出现直到我访问安全模块。如果在我打开该安全模块后,我返回主页,应用程序就会正常读取cookie并显示“注销”。
我真的不知道如何处理这个问题。非常感谢任何帮助!
答案 0 :(得分:0)
答案 1 :(得分:0)
我在那张票上尝试了解决方案,但我得到了这个:
致命错误:未找到类'sfGuardRememberMeFilter'
我正在使用symfony 1.2和最新版本的sfGuardPlugin。 Whas那班被删除了吗?同样在我的应用程序settings.yml中,我启用了以下模块,以防这对解决这个问题很有用
enabled_modules:[default,sfGuardAuth]
感谢您的帮助!
答案 2 :(得分:0)
可选择在filters.yml中启用“记住我”过滤器
安全性: class:sfGuardBasicSecurityFilter