1

我遵循手册并创建了扩展 FOSUserBundle 的 MyBundle,

到目前为止一切正常,我可以

1)注册一个用户 2)给他发送电子邮件 3)确认他的帐户(确认后我登录) 4)注销

但后来我无法登录。用户已在数据库中启用。

触发查询,但登录表单错误为“凭据错误...”。

我在 security.yml 中使用

encoders: 'FOS\UserBundle\Model\UserInterface': sha512

所以我在数据库中的密码字段同时使用了 sha512 加密 + salt。

在比较数据库密码和用户提供的密码时,我是否应该以任何方式更改我的扩展用户以使用 512 编码器和盐?

如果这是问题,有谁知道在哪个类以及如何实现上述内容,因为这

http://symfony.com/doc/current/book/security.html#encoding-the-user-s-password

现在对我没有帮助。

或者任何人都可以指导我如何调试它?

最后我真的坚持这个...

4

2 回答 2

0

检查包含您创建的用户的数据库。然后在任何用户的 Db 列名称中检查您的用户故事enable=1。注册用户只能登录enable=1。如果enable=0,你不能登录。

希望这对您有所帮助。

于 2012-05-20T10:45:21.007 回答
0

FOSUserbundle for 期望字段“_password”和“_username”如果您没有自定义这些字段名,其他所有内容都将不起作用。(?) - 清理你的缓存?

但也许它是一个真正的问题。那么你也许应该发布一些代码。

于 2013-03-22T16:00:27.857 回答