我的Symfony 2.8项目的“记住我”功能存在问题。
我已经安装了两个软件包FOSUserBundle和HWIOAuthBundle。我的security.yml中的Remeber me func设置为true(请参见下文)。 在我自己的登录页面上,我可以使用Facebook,google或电子邮件登录。 Facebook和Google登录使用HWIOAuthBundle(后面是FOSUserBundle),电子邮件登录使用“仅” FOSUserBundle。
登录后,REMEMBERME cookie设置正确(通过Google,FB或电子邮件)
2种情况: -我使用FaceBook或Google登录,我关闭了浏览器,会话期满后进入网站时,我已经登录。它运行良好! -我使用电子邮件登录,关闭浏览器,并且在会话期满后进入网站时,我尚未登录。就在我进入网站之前,REMEMBERME cookie仍然存在并且当我进入时到我的网站,cookie REMEMBERME被删除。
当我用电子邮件登录时,为什么不记得我的功能?
security.yml:
security:
encoders:
FOS\UserBundle\Model\UserInterface: bcrypt
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: ROLE_ADMIN
providers:
in_memory:
memory: ~
fos_userbundle:
id: fos_user.user_provider.username_email
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ^/
form_login:
provider: fos_userbundle
logout: true
anonymous: true
remember_me:
secret: '%secret%'
lifetime: 604800
path: /
always_remember_me: true
user_provider: fos_userbundle
oauth:
remember_me: true
resource_owners:
google: "/login/check-google"
facebook: "/login/check-facebook"
login_path: /login
use_forward: false
failure_path: /login
oauth_user_provider:
service: hwi_oauth.user.provider.fosub_bridge
login:
pattern: ^/login$
security: false
access_control:
#Empty
谢谢你, 卢克