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 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 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 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 Github743 commented Oct 19, 2019

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

@raminkarimkhani1996

This comment has been minimized.

Copy link

@raminkarimkhani1996 raminkarimkhani1996 commented Jan 23, 2020

how can i create new user with LDAP

@ahmad-moussawi

This comment has been minimized.

Copy link

@ahmad-moussawi ahmad-moussawi commented Jun 25, 2020

For those who asking how to create an LDAP server, there are multiple options here:

  1. use OpenLDAP an open-source server implementation of the LDAP protocol, you can download a running docker image from https://github.com/osixia/docker-openldap
  2. use Apache Directory Studio includes Apache DS also another implementation in Java (this is the easiest option) https://directory.apache.org/studio/
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.