首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用sAMAccountName通过简单绑定连接到LDAP

使用sAMAccountName通过简单绑定连接到LDAP
EN

Stack Overflow用户
提问于 2018-06-20 18:11:48
回答 1查看 903关注 0票数 0

我正在尝试通过PHP7.2连接到使用简单绑定的LDAP。

我使用LDAP管理桌面应用程序检查我的设置,一切正常。应用程序以name.surname和密码的形式使用我的sAMAccountName登录。我也想通过PHP实现同样的目的,但我成功登录的唯一方法是:

代码语言:javascript
复制
$ldap_user   = "CN=Name Surname,OU=Users,OU=Sample,DC=sample,DC=othersample";
$ldap_pass   = "myPassword";

$c = ldap_connect("ldap://x.x.x.x", 389);
ldap_set_option($c, LDAP_OPT_PROTOCOL_VERSION, 3);
ldap_set_option($c, LDAP_ESCAPE_DN, 1);

ldap_bind($c, $ldap_user, $ldap_pass);

然而,我的目标是让$ldap_user成为name.surname,就像应用程序使用它的方式一样。

有没有办法做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-21 21:43:11

你需要做一个3步的方法:

  1. 绑定到具有已知用户的目录
  2. 在目录中搜索sAMAccountName为"name.surname“的条目,并检索该条目的DN
  3. 现在使用刚刚检索到的DN和用户提供的密码再次绑定到该目录。

看看https://gist.github.com/heiglandreas/5689592上的一个例子

当您绑定到ActiveDirectory时,如果使用ADS域作为前缀,也可以直接使用sAMAccountName,如下所示:DOMAIN\sAMAccountName

希望这能有所帮助

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

https://stackoverflow.com/questions/50945691

复制
相关文章

相似问题

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