【问题标题】:Symfony 2 : Custom user providerSymfony 2:自定义用户提供者
【发布时间】:2011-12-20 15:10:57
【问题描述】:

由于这篇文章http://symfony.com/doc/2.0/cookbook/security/custom_provider.html 还没有写完,有没有人知道怎么做? (在我的情况下,它将使用 LDAP 身份验证)。

感谢您的回答

【问题讨论】:

    标签: security ldap symfony


    【解决方案1】:

    为了帮助您入门,您可以查看我的博客文章,其中概述了如何创建一个非常基本的用户提供程序系统:

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

    编辑:这篇文章只涉及自定义用户提供程序。要使用 LDAP 身份验证,您还需要创建自己的身份验证提供程序或使用第三方库。 http://symfony.com/doc/current/cookbook/security/custom_authentication_provider.html

    【讨论】:

    • 我在你的教程中看不到你在哪里调用你的网络服务来检索用户 oO
    • 用户的实际加载是在用户类内部完成的。在我的例子中,我通过 REST api 加载用户。我有一个实体基类,它处理与其余服务的连接以加载用户。您可以在 loadUserByUsername($username) 函数中看到在我的提供程序中调用的函数。它调用在我的基类中定义的 User::find() 函数。我的帖子只会向您展示如何创建提供程序,但您仍然需要创建自己的自定义实体来处理用户加载和其他功能。这有意义吗?
    【解决方案2】:

    我建议你做的第一件事是在伟大的网站KnpBundles 上搜索一个 LDAP 包(结果here)。我看到了两个结果。如果您愿意使用外部包,您可以只使用结果中给出的两个。

    如果您更愿意为此任务创建自己的捆绑包,我建议您从这两个捆绑包中获得灵感。另一个有用的建议是检查FOSFacebookBundle。它与 LDAP 无关,但是它们实现了自己的提供程序,所以所有的粘合剂都可以实现您自己的。

    只是一个小通知,如果你是针对 Symfony2 master 分支进行开发,很高兴知道安全工厂注册已经改变了一点。因此,在查看其他捆绑包时要小心,以确定它们所针对的版本。

    希望这会有所帮助。

    问候,
    马特

    【讨论】:

    • 我尝试了一个 LDAPBundle(Boris Morel 的),但无法正常工作(路径“security.factories”的类型无效。预期的数组,但得到了字符串)。我不喜欢另一个(openSky),因为您必须将 Zend 框架导入您的项目(31Mb),这对我来说是无意义的,因为我们选择使用 Symfony oO
    • 我明白了。然后,您应该检查这些实现以了解如何实现您自己的身份验证提供程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-15
    • 2017-04-15
    • 1970-01-01
    • 2013-02-09
    • 2018-12-09
    • 1970-01-01
    • 2017-04-01
    相关资源
    最近更新 更多