Symfony2在手动登录时记住我

时间:2016-01-29 09:24:13

标签: login symfony remember-me symfony-3.1

大家好,我不能让它工作 - 我们已经在其他中央网站登录,所以用户被重定向回网站 - 一切正常,然后我们使用普通的db_provider和用户实体让他登录 - 一切正常但是不能让remember_me cookie工作。

手动登录就像

一样
 $token = new UsernamePasswordToken($user, $user->getPassword(), "main", $user->getRoles());
 $this->get("security.token_storage")->setToken($token);

然后我们尝试这样做

 $rememberMeService = new TokenBasedRememberMeServices(
        array($this->getDoctrine()->getManager()->getRepository('AppBundle:User')), $this->container->getParameter('secret'), 'main', array(
            'path' => '/',
            'name' => 'MyRememberMeCookie',
            'domain' => 'localhost',
            'lifetime' => 604800, // forever
            'always_remember_me' => true,
            'remember_me_parameter' => '_remember_me2')
    );

此后

$response = new Response();
    $rememberMeService->loginSuccess($request,$response,$token);

    $response->sendHeaders();

在调试中,我可以看到它将转到类Cookie,并且正在设置新的Cookie,并且该cookie在标题中的对象$响应中,但从不发送到浏览器。

这是我们在security.yml中的内容

remember_me:
          secret: '%secret%'
          lifetime: 604800 # 1 week in seconds
          path: ~
          domain: ~
          name: MyRememberMeCookie
          always_remember_me : true
          remember_me_parameter: _remember_me2

任何想法PLS帮助:)

0 个答案:

没有答案