Reputation: 1921
I'm trying to connect .NET Core 3.1 API to LDAP running in docker (dwimberger/ldap-ad-it) (configuration):
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
Here is my connection code:
public User Login(string userName, string password)
{
try
{
using (DirectoryEntry entry = new DirectoryEntry("LDAP://127.0.0.1:10389/DC=wimpi,DC=net", "cn=admin,ou=roles,dc=wimpi,dc=net", "secret"))
{
using (DirectorySearcher searcher = new DirectorySearcher(entry))
{
var all = searcher.FindAll();
}
}
}
catch (Exception ex)
{
}
return null;
}
But I'm getting an error
An invalid dn syntax has been specified
and in the extended error message I see
Incorrect DN given : NTLM (0x4E 0x54 0x4C 0x4D ) is invalid
What is wrong?
Thanks
Upvotes: 1
Views: 896
Reputation: 506
You should try setting AuthType=Basic in your request, apparently the server is trying NTLM instead of basic.
Upvotes: 1