使用LDAP连接到Active Directory的连接字符串

本文关键字:连接 字符串 Directory LDAP 使用 Active | 更新日期: 2023-09-27 18:01:38

系统管理员给了我这个:

域名:capp.net用户:capp'dhr2

通过:admin@12345

连接字符串是什么?

我对adfs非常非常陌生。所以我试着这样做:

<add name="ADConnectionString"
      connectionString="LDAP://capp.net/CN=dhr,DC=capp,DC=net"  />
<authentication mode="Forms">
  <forms name=".ADAuthCookie" timeout="43200"/>
</authentication>
<authorization>
</authorization>
<membership>
  <providers>
    <clear/>
    <add name="MyADMembershipProvider"
     type="System.Web.Security.ActiveDirectoryMembershipProvider"
     connectionUsername="cn=dhr2"
     connectionPassword="admin@12345"
    connectionStringName="ADConnectionString"/>
  </providers>
</membership>

我总是得到这个错误:无法与服务器建立安全连接

我正在做一些错误的连接字符串。我只是不知道如何解决它。

使用LDAP连接到Active Directory的连接字符串

每当我从。net访问AD时,我都做了以下操作:

var directoryEntry = new DirectoryEntry("LDAP://capp.net");
directoryEntry.Username = "capp'dhr2";
directoryEntry.Password = "admin@12345";

然后你可以使用DirectorySearcher查询"AD"。

var directorySearcher = new DirectorySearcher(directoryEntry);

感谢大家的帮助和支持。在我的例子中正确的地址是:

LDAP://192.168.0.146/CN =用户,DC = capp, DC =净

我一开始没有意识到的是,我试图连接到与当前域不同的域的活动目录。所以Ip地址是缺失的部分。万分感谢路易斯,他意识到域名出了问题。

并感谢Shadow Walker更详细地解释ldap连接字符串

我们发现这是最好的工作,以确保您有正确的参数:

通常使用LDAP连接AD的难点是确定登录用户的FDN。如果您知道用户的samAccountName,您可以使用以下命令找到它:

dsquery user -samid jim
"CN=Jim Willeke,CN=Users,DC=mad,DC=willeke,DC=com"

对于Active Directory, ldap连接字符串可以采用这种形式:

协议://domaindnsaddress

协议可以是ldap://ldaps://,取决于是使用标准连接还是SSL连接。在迁移到SSL/TLS之前,您应该始终使用标准连接进行故障排除,以避免此时出现证书问题。

domaindnsaddress是您的域名的dns可解析地址-在您的例子中是capp.net。

一些编程语言,如php,不需要ldap://前缀来执行连接操作。你也可以试试没有它连接。

要登录的用户名可以有多个表单。最常见的是:

  • NetBIOS域名'samaccountname (CAPP'dhr2 -注意反斜杠)
  • userprincipanname (dhr2@capp.net)
  • samaccountname@domaindnsname (dhr2@capp.net)

你可以在这里阅读微软关于你的登录名可能形式的广泛信息:
MSDN -简单身份验证

密码不需要任何特殊处理—只需对ldap服务器执行标准绑定操作,您就应该通过身份验证。
请注意,我故意而不是包括任何示例代码,因为您的问题是关于连接字符串,而不是关于使用c#库连接到ldap。