LDAP身份验证与Active Directory和SunOne

4

通过查看这个网站和其他网站,我知道如何使用LDAP认证用户名和密码。但我的问题是我们的客户不允许任何用户名或密码绑定到活动目录。我的意思是有一种管理员类型的用户名和密码,它首先用于绑定,然后您必须提供您的实际用户名和密码。请问有人可以告诉我如何完成这个过程吗?

1个回答

1
通常你会找到某种绑定方式,它允许你根据从用户那里获取的任何信息搜索目标用户的完整DN。例如,你可能要求输入用户名和密码进行登录,而该用户名可能是他们在AD中的sAMAccountName,或者是他们在AD中的电子邮件地址。
然后,你可以通过管理员用户或匿名绑定查询mail或sAMAccountname,或者使用其他允许查找该用户完整DN的方法。
最后,你可能会进行密码比较,以测试DN的密码是否与他们在登录页面上输入的值相匹配。

感谢您的快速回答。我正在使用以下内容与服务器绑定并验证实际的用户名和密码。DirectoryEntry entry = new DirectoryEntry("LDAP://domain", "adminUname", "adminPwd") entry.Username = "actual Username"; entry.Password = "actual Password"; entry.RefreshCache(); 我必须制作这种情况并提供构建。但是在我的开发环境中,即使我提供了错误的adminuname/adminpwd,它仍然绑定目录并验证实际的uname和密码。如何确保此代码也适用于客户端? - hitesh
我想知道你是否遇到了LDAP有趣的工作行为设计问题...没有密码的LDAP绑定被视为成功的匿名绑定。在eDirectory中,在DStrace中,您可以清楚地看到这种情况发生(它实际上会告诉您发生了什么)。不确定AD中是否有此登录记录。 - geoffc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接