2012-05-20 306 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」其他所有字段都不起作用。 (?) - 清理緩存?

但也許它是一個真正的問題。那麼你可能應該發佈一些代碼。