C# 从.NET Core 3.1连接到LDAP-指定了无效的dn语法:NTLM(0x4E 0x54 0x4C 0x4D)无效

C# 从.NET Core 3.1连接到LDAP-指定了无效的dn语法:NTLM(0x4E 0x54 0x4C 0x4D)无效,c#,.net,active-directory,ldap,C#,.net,Active Directory,Ldap,我正在尝试将.NET Core 3.1 API连接到docker()中运行的LDAP: 这是我的连接代码: 公共用户登录(字符串用户名、字符串密码) { 尝试 { 使用(DirectoryEntry=newdirectoryentry(“LDAP://127.0.0.1:10389/DC=wimpi,DC=net”,“cn=admin,ou=roles,DC=wimpi,DC=net”,“secret”)) { 使用(DirectorySearcher search=新的DirectorySea

我正在尝试将.NET Core 3.1 API连接到docker()中运行的LDAP:

这是我的连接代码:

公共用户登录(字符串用户名、字符串密码)
{
尝试
{
使用(DirectoryEntry=newdirectoryentry(“LDAP://127.0.0.1:10389/DC=wimpi,DC=net”,“cn=admin,ou=roles,DC=wimpi,DC=net”,“secret”))
{
使用(DirectorySearcher search=新的DirectorySearcher(条目))
{
var all=searcher.FindAll();
}
}
}
捕获(例外情况除外)
{
}
返回null;
}
但我有个错误

指定了无效的dn语法

在扩展的错误消息中,我看到了

给定的DN不正确:NTLM(0x4E 0x54 0x4C 0x4D)无效

怎么了


谢谢

您应该尝试在请求中设置AuthType=Basic,显然服务器正在尝试NTLM而不是Basic。

检查此项:配置中显示的用户DN:uid=admin,ou=system与连接代码中的DN不匹配:cn=admin,ou=roles,dc=wimpi,dc=netOk,所以
uid=admin,ou=system,dc=wimpi,dc=net
应该可以工作,对吗?它没有:(
dn: dc=wimpi,dc=net
objectclass: top
objectclass: domain
dc: wimpi

dn: ou=users,dc=wimpi,dc=net
ou: users
objectclass: organizationalUnit
objectclass: top

dn: uid=test,ou=users,dc=wimpi,dc=net
uid: test
objectcategory: User
cn: Test User
sn: test
memberof: admin
objectclass: top
objectclass: person
objectclass: inetOrgPerson
objectclass: simulatedMicrosoftSecurityPrincipal
samaccountname: test
userpassword: secret

dn: ou=roles,dc=wimpi,dc=net
ou: roles
objectclass: top
objectclass: organizationalUnit

dn: cn=admin,ou=roles,dc=wimpi,dc=net
member: uid=test,ou=users,dc=wimpi,dc=net
cn: admin
objectclass: top
objectclass: groupOfNames

You can connect to the server now
URL:      ldap://127.0.0.1:10389
User DN:  uid=admin,ou=system
Password: secret
LDAP server started in 2187ms