Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
How to authenticate user in Ldap / OpenLdap using C# (user: test in domain ghashd.servebeer.com, server on ip 192.168.0.12 port 389)
using System;
using System.Net;
using System.DirectoryServices;
using System.DirectoryServices.Protocols;
using System.Security.Permissions;
namespace LdapConnection
{
[DirectoryServicesPermission(SecurityAction.LinkDemand, Unrestricted = true)]
public class LdapConnect
{
public static void Main(string[] args)
{
try
{
// Create the new LDAP connection
LdapDirectoryIdentifier ldi = new LdapDirectoryIdentifier("192.168.0.12", 389);
System.DirectoryServices.Protocols.LdapConnection ldapConnection =
new System.DirectoryServices.Protocols.LdapConnection(ldi);
Console.WriteLine("LdapConnection is created successfully.");
ldapConnection.AuthType = AuthType.Basic;
ldapConnection.SessionOptions.ProtocolVersion = 3;
NetworkCredential nc = new NetworkCredential("uid=testa,ou=people,dc=ghashd,dc=servebeer,dc=com",
"zaq12wsx"); //password
ldapConnection.Bind(nc);
Console.WriteLine("LdapConnection authentication success");
ldapConnection.Dispose();
}
catch (LdapException e)
{
Console.WriteLine("\r\nUnable to login:\r\n\t" + e.Message);
}
catch (Exception e)
{
Console.WriteLine("\r\nUnexpected exception occured:\r\n\t" + e.GetType() + ":" + e.Message);
}
}
}
}
@geomorillo

This comment has been minimized.

Copy link

geomorillo commented Apr 19, 2017

works perfectly ... i wasnt able to connect with other methods thanks

@db199615

This comment has been minimized.

Copy link

db199615 commented Jan 29, 2018

works well but i have one one doubt..you are using 192.168.0.12 server...is this is a free online ldap server?? how can i get other user details in this?? since i am very new to this concept ..it makes me difficult to understand..
i had used online ldap.forumsys.com ...but it doesnt work..
please help me..
Thanks in advance..

@will7200

This comment has been minimized.

Copy link

will7200 commented Jul 17, 2018

No that is on LAN, 192.168.. is used for private networks.

@Github743

This comment has been minimized.

Copy link

Github743 commented Oct 19, 2019

What should be replaced ("192.168.0.12", 389) for these

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.