我正在尝试通过LDAP对用户进行身份验证,并获取经过身份验证的用户对象。为此,我使用Symfony3安装了它的ldap组件。
要安装我使用composer的ldap组件,如下所示:
composer require symfony/ldap只是为了测试周围的东西,我正在使用这个免费的测试AD。因此,现在我处于组件工作的位置,并且我可以扩展它的类。
查看组件使用文档首先要连接到AD:
$ldap = new LdapClient('ldap.forumsys.com', 389, 3, false, true);当我使用var_dump($ldap)命令时,我得到的是:
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和用户密码对上述连接进行身份验证:
$ldap->bind('ou=mathematicians,dc=example,dc=com', 'password');根据ldap.forumsys.com的DN为:
-> cn=read-only-admin,dc=example,dc=com
||
-> ou=mathematicians,dc=example,dc=com我不确定,但侦察是第二个,无论哪种方式,我都尝试了,也为每个用户的密码是密码。
这就是symfony抛出这个错误的时候:
The options "optReferrals", "useSsl", "useStartTls" do not exist. Defined
options are: "connection_string", "debug", "encryption", "host", "options",
"port", "referrals", "version".我不太理解它,也不确定为什么它不能工作。
我还找到了这个文档:
[Symf Ldap Doc][3]这两个文档是否显示了如何连接在一起,如果是,那么如何将它们链接起来...?
发布于 2016-06-10 00:20:14
绑定应该是这样的:
$ldap->bind('cn=read-only-admin,dc=example,dc=com', 'password');第二次编辑如下。
我弄错了,我想你需要这样打电话:
$ldap = new LdapClient('ldap.forumsys.com', 389, 3, false, false, false);如果您需要使用FR3DLdapBundle的参考资料,请参考我为设置它所做的look at my blog。
https://stackoverflow.com/questions/37730986
复制相似问题