2012-05-20 305 views
1

我按照说明书,创造MyBundle延伸FOSUserBundle,FOSUserBundle + login_check

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

1)注册一个用户 2)给他发电子邮件 3)证实了他的账户(确认后,我登录) 4)注销

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

查询被激发,但登录表单错误是“Bad credentials ...”。

我使用,在security.yml

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

所以数据库里我的密码字段同时使用SHA512加密+盐。

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

如果是这样的问题, 没有人知道在哪个班,以及如何实现上述因为这

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

不帮我,现在。

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

最后我真的卡在这...

回答

0

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

希望这可以帮助你。

+0

在数据库中启用了用户 – Nikos

+0

我编辑了评论以清除 – Nikos

0

如果您未自定义这些字段名,FOSUserbundle预期字段“_password”和“_username”其他所有字段都不起作用。 (?) - 清理缓存?

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