记住我的功能可以很好地创建 REMEMBERME cookie。当我重新启动浏览器时,cookie 也可用,但我没有登录,并且我在 Symfony 工具栏中像匿名一样进行身份验证。
通常,当我登录 mydomain.com 时,如果我已登录,我将重定向到 mydomain.com/home/calendar,如果没有,我将重定向到 mydomain.com/login
#security.yml
main:
pattern: ^/.+
switch_user: { role: ROLE_SUPER_ADMIN, parameter: _steal_user }
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
always_use_default_target_path: true
default_target_path: bleep_university_calendar
login_path: /login
check_path: /login_check
remember_me: true
remember_me:
key: "%secret%"
lifetime: 31536000
always_remember_me: true
remember_me_parameter: _remember_me
path: /home/calendar
domain: ~
logout: true
anonymous: false
context: university
谁能解释一下它不起作用的原因?
我正在使用 Symfony 2.1.7 和 FOSuserbundle。
在谷歌浏览器上,cookie REMEMBERME 永远不会被删除,我在所有 URL 的设置中都看到了它。但是在 Mozilla Firefox 上,如果 remember_me 下的属性路径是 /,当我在 URL /login 上重定向时,cookie 正在删除。就像 cookie 仅在 Firefox 上被删除。
这是 Firefox 上 REMEMBERME cookie 的值
expires : 1409988370
host : "localhost"
isDomain : false
isHttpOnly : true
isSecure : false
maxAge : undefined
name : "REMEMBERME"
path : "/"
rawValue : "QmxlZXBcTWFzdGVyU2Vydml...WJlOWI3ZTMyNzkxZGQyZGU3"
value : "QmxlZXBcTWFzdGVyU2Vydml...WJlOWI3ZTMyNzkxZGQyZGU3"