我正在使用Symfony 2和FOSUserBundle编写应用程序。我想允许多个用户注册相同的名称并使用电子邮件来识别它们。我为此编辑了用户管理器,将loadUserByUsername转换为findUserByEmail()的包装器。这个破坏的TokenBasedRememberMeServices使用getUsername()来生成记住我的令牌。我怎样才能用自己的类替换那个类,以免每次更新FW框架版本时都强迫自己黑客入侵symfony文件?
答案 0 :(得分:5)
我找到了一种方法:
Symfony bundle将类名存储在其配置文件params中。您可以通过在config.yml中添加以下行来覆盖这些参数:
# Parameters override
parameters:
security.authentication.rememberme.services.simplehash.class: MyVendor\UserBundle\RememberMe\TokenBasedRememberMeServices