Click here to Skip to main content
Click here to Skip to main content

Lightweight Directory Access Protocol Uniform Resource Identifier (LDAPUri)

By , 28 Feb 2008
 
figure1.png

Introduction

This is an attempt to make a Uniform Resource Identifier for the Lightweight Directory Access Protocol (LDAP).

Background

While working with DirectoryEntry, I encountered some errors due to the LDAP Path. So I decided to make an attempt to create a Uniform Resource Identifier for the LDAP path.

Using the Code

Using the LDAPUri class is straight forward.

The following code demonstrates building an LDAP path part-wise:

LDAPUri LDAPUriTest = new LDAPUri();
LDAPUriTest.Protocol = LDAPProtocol.LDAP;
LDAPUriTest.Attributes.Add(new LDAPAttribute
    (LDAPAttributeType.CommonNames, "Computers"));
LDAPUriTest.Attributes.Add(new LDAPAttribute(LDAPAttributeType.DomainComponent, "www"));
LDAPUriTest.Attributes.Add(new LDAPAttribute
    (LDAPAttributeType.DomainComponent, "codeproject"));
LDAPUriTest.Attributes.Add(new LDAPAttribute(LDAPAttributeType.DomainComponent, "com"));

The above code returns the following:

  • LDAPUriTest.Port - 389
  • LDAPUriTest.Protocol - LDAPProtocol.LDAP
  • LDAPUriTest.LDAPPathShort - CN=Computers,DC=www,DC=codeproject,DC=com
  • LDAPUriTest.LDAPPath - LDAP://CN=Computers,DC=www,DC=codeproject,DC=com

The following code demonstrates building an LDAP path by throwing the string direct into the LDAPUri Class constructor:

LDAPUri LDAPUriTest = new LDAPUri(LDAP://CN=Computers,DC=www,DC=codeproject,DC=com);
or:
LDAPUri LDAPUriTest = new LDAPUri("CN=Computers,DC=www,DC=codeproject,DC=com");

The above code returns the following:

  • LDAPUriTest.Port - 389
  • LDAPUriTest.Protocol - LDAPProtocol.LDAP
  • LDAPUriTest.LDAPPathShort - CN=Computers,DC=www,DC=codeproject,DC=com
  • LDAPUriTest.LDAPPath - LDAP://CN=Computers,DC=www,DC=codeproject,DC=com

Why?

When using the LDAPUri, the Path will be validated and will always be returned correctly.

History

  • 21st February, 2008: Initial post
  • 29th February, 2008: Article updated
    • Renamed the property Root to Host
    • Added Port property

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

Paw Jershauge
Software Developer
Denmark Denmark
Member

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
-- There are no messages in this forum --
Permalink | Advertise | Privacy | Mobile
Web01 | 2.6.130516.1 | Last Updated 29 Feb 2008
Article Copyright 2008 by Paw Jershauge
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid