我在symfony中构建remember_me功能。而不是将令牌存储在cookie中我想将它们存储在数据库中所以,我试图使用名为token_provider的选项,但Symfony.com上没有详细的信息。
我是Symfony的新手,任何人都可以分享" token_provider"的语法。在security.yml-> firewalls-> remember_me?
任何帮助将不胜感激。
我做过的改变
创建了一个自定义服务,它扩展了Symfony \ Bridge \ Doctrine \ Security \ RememberMe \ DoctrineTokenProvider并从构造函数传递了db连接对象
class CustomTokenService扩展了DoctrineTokenService { public function __construct(EntityManagerInterface $ em){ 父:: __构建体($ EM->的getConnection()); } }
在app / config / services.yml
答案 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