2011-12-20 73 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