首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony3 ldap组件

Symfony3 ldap组件
EN

Stack Overflow用户
提问于 2016-06-10 00:00:22
回答 1查看 507关注 0票数 0

我正在尝试通过LDAP对用户进行身份验证,并获取经过身份验证的用户对象。为此,我使用Symfony3安装了它的ldap组件。

要安装我使用composer的ldap组件,如下所示:

代码语言:javascript
复制
composer require symfony/ldap

只是为了测试周围的东西,我正在使用这个免费的测试AD。因此,现在我处于组件工作的位置,并且我可以扩展它的类。

查看组件使用文档首先要连接到AD:

代码语言:javascript
复制
$ldap = new LdapClient('ldap.forumsys.com', 389, 3, false, true);

当我使用var_dump($ldap)命令时,我得到的是:

代码语言:javascript
复制
object(Symfony\Component\Ldap\LdapClient)#359 (1) {
object(Symfony\Component\Ldap\Ldap)#360 (1) {
object(Symfony\Component\Ldap\Adapter\ExtLdap\Adapter)#361 (3) {
array(6) {
      ["host"] "ldap.forumsys.com"
      ["port"] 389
      ["version"] 3
      ["useSsl"] false
      ["useStartTls"] true
      ["optReferrals"] false
      }
    }
  }
}

第二步是使用DN和用户密码对上述连接进行身份验证:

代码语言:javascript
复制
$ldap->bind('ou=mathematicians,dc=example,dc=com', 'password');

根据ldap.forumsys.com的DN为:

代码语言:javascript
复制
 -> cn=read-only-admin,dc=example,dc=com

 ||

 -> ou=mathematicians,dc=example,dc=com

我不确定,但侦察是第二个,无论哪种方式,我都尝试了,也为每个用户的密码是密码。

这就是symfony抛出这个错误的时候:

代码语言:javascript
复制
    The options "optReferrals", "useSsl", "useStartTls" do not exist. Defined 

options are: "connection_string", "debug", "encryption", "host", "options", 

"port", "referrals", "version".

我不太理解它,也不确定为什么它不能工作。

我还找到了这个文档:

代码语言:javascript
复制
[Symf Ldap Doc][3]

这两个文档是否显示了如何连接在一起,如果是,那么如何将它们链接起来...?

EN

回答 1

Stack Overflow用户

发布于 2016-06-10 00:20:14

绑定应该是这样的:

代码语言:javascript
复制
$ldap->bind('cn=read-only-admin,dc=example,dc=com', 'password');

第二次编辑如下。

我弄错了,我想你需要这样打电话:

代码语言:javascript
复制
$ldap = new LdapClient('ldap.forumsys.com', 389, 3, false, false, false);

如果您需要使用FR3DLdapBundle的参考资料,请参考我为设置它所做的look at my blog

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37730986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档