首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#在LDAP域中对用户进行身份验证

C#在LDAP域中对用户进行身份验证
EN

Stack Overflow用户
提问于 2020-07-08 08:08:39
回答 1查看 612关注 0票数 0

我得到了这个LDAP连接字符串:

TestAD01 01/DC= DC=com示例

还有LDAP域:

EXPLDOM

对于我来说,可以使用以下代码对用户test01和密码pass123进行身份验证:

代码语言:javascript
复制
DirectoryEntry de = new DirectoryEntry("LDAP://" + domainName, userName, password);
DirectorySearcher dsearch = new DirectorySearcher(de);
SearchResult results = null;

results = dsearch.FindOne();

我应该放什么domainName?因为我已经试着把TestAD01/DC=example,DC=comEXPLDOM输入到domainName,但是我没有得到结果

但是,当我尝试将我的计算机域:uat.example.com放在domainName上时,我的应用程序成功地验证了计算机域的给定用户凭据

为我令人困惑的语言道歉

EN

回答 1

Stack Overflow用户

发布于 2020-07-08 12:47:09

LDAP路径由以下任一项组成:

DC=example,DC=com)

  1. 要连接到的服务器,可以是域名DNS名称(example.com),也可以是特定的DC (dc1.example.com),也可以是要绑定到的区分名称
  2. ,如

或者两者都是。

如果您的计算机连接到您要连接的同一域,或者您的计算机被连接到受信任的域,则不需要包含服务器名称。您的计算机知道域的情况,所以可分辨的名称足以让它找到它。

但是,如果您的计算机没有连接到相同或受信任的域,则必须包括服务器名称,因为您的计算机不知道该域的位置。

听起来,您需要包含服务器名。如果可分辨的名称是DC=example,DC=com,那么域名example.com就是example.com,这就是您作为服务器使用的。(每个"DC“部分都是一个”域组件“,您可以将其与中间的点连接起来)

LDAP路径如下所示:

代码语言:javascript
复制
LDAP://example.com

如果要绑定到域根以下的内容,则只需要包含可分辨的名称。所以这个:

代码语言:javascript
复制
LDAP://example.com

相当于:

代码语言:javascript
复制
LDAP://example.com/DC=example,DC=com

但是,如果只想搜索一个特定的OU,则必须包括该OU的可分辨名称:

代码语言:javascript
复制
LDAP://example.com/OU=Users,DC=example,DC=com
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62790278

复制
相关文章

相似问题

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