我正在symfony中构建remember_me功能 . 而不是将令牌存储在cookie中我想将它们存储在数据库中所以,我正在尝试使用名为token_provider的选项,但Symfony.com上没有详细的信息 .
我是Symfony的新手,任何人都可以在security.yml-> firewalls-> remember_me中共享“token_provider”的语法吗?
任何帮助将不胜感激 .
我做过的改变
- 创建了一个自定义服务,它扩展了Symfony \ Bridge \ Doctrine \ Security \ RememberMe \ DoctrineTokenProvider并从构造函数传递了db连接对象
class CustomTokenService扩展DoctrineTokenService {public function __construct(EntityManagerInterface $ em){parent :: __ construct($ em-> getConnection()); }}
- 在app / config / services.yml中注册了此服务
1 回答
services.yml中的自定义服务:
token_service:别名: \ Bundle \ Services \ Utilities \ CustomTokenService
公众:是的
在Security.yml中:
记住账号:
秘密:'%kernel.secret%'
寿命:604800#1周内秒
路径:/
域名:〜
remember_me_parameter:_stay_signedin
token_provider:token_service