我已按照手册创建了MyBundle,它扩展了FOSUserBundle,
到目前为止一切正常,我可以
1)注册用户 2)给他发电子邮件 3)确认他的帐户(确认后我已登录) 4)注销
但之后我 无法登录 。 用户已在数据库中启用。
触发查询,但登录表单错误为“凭据错误...”。
我在security.yml中使用
encoders:
'FOS\UserBundle\Model\UserInterface': sha512
所以我的数据库中的密码字段使用sha512 encryption + salt。
在比较db密码和用户提供的密码时,我是否应该以任何方式更改扩展用户以使用512编码器和salt?
如果这是问题, 有谁知道在哪个类和如何实现上述,因为这
http://symfony.com/doc/current/book/security.html#encoding-the-user-s-password
现在对我没有帮助。
或者任何人都可以指导我如何调试它?
最后我真的坚持这个......
答案 0 :(得分:0)
检查包含您创建的用户的数据库。然后在任何用户的Db列名称enable=1
中检查您的用户故事。注册用户只能在enable=1
时登录。如果enable=0
,则无法登录。
希望这会对你有所帮助。
答案 1 :(得分:0)
FOSUserbundle for期望字段“_password”和“_username”如果您没有自定义这些字段名,则其他所有内容都不起作用。 (?) - 清理你的缓存?
但也许这是一个真正的问题。然后你可能会发布一些代码。