symfony remember_me中token_provider的语法

时间:2018-01-16 11:42:00

标签: symfony remember-me

我在symfony中构建remember_me功能。而不是将令牌存储在cookie中我想将它们存储在数据库中所以,我试图使用名为token_provider的选项,但Symfony.com上没有详细的信息。

我是Symfony的新手,任何人都可以分享" token_provider"的语法。在security.yml-> firewalls-> remember_me?

任何帮助将不胜感激。

我做过的改变

  1. 创建了一个自定义服务,它扩展了Symfony \ Bridge \ Doctrine \ Security \ RememberMe \ DoctrineTokenProvider并从构造函数传递了db连接对象

    class CustomTokenService扩展了DoctrineTokenService {     public function __construct(EntityManagerInterface $ em){         父:: __构建体($ EM->的getConnection());     } }

  2. 在app / config / services.yml

  3. 中注册此服务

1 个答案:

答案 0 :(得分:0)

services.yml中的自定义服务:
token_service: 别名:{应用} \包\ SERVICES \工具\ CustomTokenService
public:true

在Security.yml中:
remember_me:
秘密:'%kernel.secret%'
寿命:604800#1周以秒为单位 路径:/
域名:〜
remember_me_parameter:_stay_signedin
token_provider:token_service