2011-12-20 120 views

回答

1

爲了幫助你開始你可以看看我的博客文章,概述瞭如何創建一個非常基本的用戶提供系統:

http://clintberry.com/2011/custom-user-providers-symfony2/

編輯:這篇文章只涵蓋了自定義用戶提供者。要使用LDAP身份驗證,您還需要創建自己的身份驗證提供程序或使用第三方庫。 http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html

+0

我無法在您的教程中看到您要調用Web服務來檢索用戶oO – Yoot 2011-12-22 13:06:28

+0

用戶的實際加載是在用戶類內完成的。在我的例子中,我通過REST API加載用戶。我有一個實體基類,負責處理與其他服務的連接以加載用戶。您可以在loadUserByUsername($ username)函數中看到在我的提供程序中調用的函數。它調用我的基類中定義的User :: find()函數。我的文章只會告訴你如何創建提供者,但你仍然需要創建自己的自定義實體來處理用戶加載和其他功能。那有意義嗎? – Clint 2011-12-22 16:26:46

0

我建議你這第一件事情是做對偉大的網站KnpBundles(結果here)一個LDAP捆綁的搜索。我看到了兩個結果。如果你願意使用外部包,你可以使用結果中給出的兩個。

如果您希望創建自己的包這個任務,我的建議是從這兩個束激勵你。另一個有用的建議是檢查FOSFacebookBundle。它與LDAP沒有任何關係,但它們實現了自己的提供者,所以所有的粘合劑都可以實現你自己的提供者。

只是一個小提示,如果你對Symfony2的主分支發展,這是好事,知道安全工廠登記已經改變了一點。因此,在查看其他軟件包時要小心,以確定它們的目標版本。

希望這會有所幫助。

問候,
馬特

+0

我試過一個LDAPBundle(鮑里斯·莫雷爾的一個),但無法得到它的工作(無效的類型路徑「security.factories」。預計陣,但得到的字符串)。我不喜歡另一個(開放天空),因爲你必須導入Zend框架到您的項目(31MB),這是一種無感我,因爲我們選擇使用Symfony的OO – Yoot 2011-12-21 14:40:11

+0

我明白了。然後,您應該檢查這些實現以瞭解如何實現您自己的身份驗證提供程序。 – Matt 2011-12-21 15:23:39