2012-09-13 55 views
1

在Symfony數年後我正在編寫我的第一個Symfony2應用程序,並且無法轉換我們的用戶管理代碼。似乎爲了適應Symfony2的身份驗證模型,我必須提供用戶詳細信息,包括他們的(加密的)密碼。我們通過一個web服務進行身份驗證,該服務採用用戶名和密碼,並以確認和用戶級別(用戶,管理員等)作出響應,但它從不將真實密碼發回給我們。無法讀取密碼的Symfony2身份驗證

我想要做的是接受表單中的登錄細節,確認它們是有效的,然後根據webservice的響應設置用戶的角色。我從哪說起呢?

+0

下面有兩個很好的答案,我正在通過symfony.com完整的官方方式與身份驗證提供者ping web服務部分路徑。 – Craig

回答

2

您需要使用自定義身份驗證提供程序對您的webservice進行身份驗證。它在這個博客中很清楚地解釋post

+0

我正在瀏覽該教程,並試圖獲取與我類似的位,謝謝。 – Craig

2

您可以創建一個用戶提供商及其loadUserByName您可以調用web服務。如果成功返回新的UserInterface對象與表單空鹽串的密碼和服務返回的角色。在security.yml中也將UserInterface的編碼器設置爲明文。然後在防火牆中的form_login auth provider中設置新創建的用戶提供者。

+0

您在這裏假設密碼未在Web服務中加密,這不應該是有效的方案。如果密碼已加密,除非我們知道Web服務正在使用的加密機制來配置security.yml,否則此解決方案無效。 – Juampy