我的系统管理员给了我这个:
域名:capp.net USER: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>
我总是收到此错误:无法与服务器建立安全连接
我对连接字符串做错了。我只是不知道如何解决它。
答案 0 :(得分:5)
每当我从.net访问AD时,我都会完成以下操作:
var directoryEntry = new DirectoryEntry("LDAP://capp.net");
directoryEntry.Username = "capp\dhr2";
directoryEntry.Password = "admin@12345";
然后您可以使用DirectorySearcher查询“AD”。
var directorySearcher = new DirectorySearcher(directoryEntry);
...
答案 1 :(得分:2)
感谢大家的帮助和支持。 我的正确地址是:
LDAP://192.168.0.146/CN=USERS,DC=capp,DC=net
我在开始时没有意识到我正在尝试连接到与当前域不同的域中的Active Directory。所以IP地址是缺失的部分。 感谢上百万的Luis,他们意识到域名存在问题。
感谢Shadow Walker更详细地解释了ldap连接字符串。
答案 2 :(得分:1)
我们发现这最适合确保您拥有正确的参数:
使用LDAP连接到AD的困难部分通常是Determining the FDN of the user to login with. 如果您知道用户的samAccountName,可以使用以下命令找到它:
dsquery user -samid jim
"CN=Jim Willeke,CN=Users,DC=mad,DC=willeke,DC=com"
答案 3 :(得分:1)
对于Active Directory,ldap连接字符串可以采用以下形式:
协定:// domaindnsaddress 强>
其中protocol可以是 ldap:// 或 ldaps:// ,具体取决于是使用标准连接还是SSL连接。在转移到SSL / TLS之前,您应始终使用标准连接进行故障排除,以避免此时出现证书问题。
domaindnsaddress是域名的DNS可解析地址 - 在您的情况下为capp.net。
某些编程语言(如php)不需要ldap://前缀来执行连接操作。您可以尝试在没有它的情况下进行连接。
登录的用户名可以有多种形式。最常见的是:
您可以在此处阅读Microsoft有关登录名称可能形式的详细信息:
MSDN - Simple Authentication
密码不需要任何特殊处理 - 只需对您的ldap服务器执行标准绑定操作,您应该进行身份验证
请注意,我故意不包括任何示例代码,因为您的问题是关于连接字符串,而不是使用C#库连接到ldap。