Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Ruby Shell
Latest commit d65c597 @jch jch Merge pull request #234 from justinoue/master
Fixed capitalization of StartTLSError


Net::LDAP for Ruby


Net::LDAP for Ruby (also called net-ldap) implements client access for the Lightweight Directory Access Protocol (LDAP), an IETF standard protocol for accessing distributed directory services. Net::LDAP is written completely in Ruby with no external dependencies. It supports most LDAP client features and a subset of server features as well.

Net::LDAP has been tested against modern popular LDAP servers including OpenLDAP and Active Directory. The current release is mostly compliant with earlier versions of the IETF LDAP RFCs (2251–2256, 2829–2830, 3377, and 3771). Our roadmap for Net::LDAP 1.0 is to gain full client compliance with the most recent LDAP RFCs (4510–4519, plus portions of 4520–4532).



See Net::LDAP for documentation and usage samples.


Net::LDAP requires a Ruby 1.9.3 compatible interpreter or better.


Net::LDAP is a pure Ruby library. It does not require any external libraries. You can install the RubyGems version of Net::LDAP available from the usual sources.

gem install net-ldap

Simply require either 'net-ldap' or 'net/ldap'.


This library focuses on the core LDAP RFCs referenced in the description. However, we recognize there are commonly used extensions to the spec that are useful. If there is another library which handles it, we list it here.

  • resolv-srv: Support RFC2782 SRV record lookup and failover


This task will run the test suite and the RuboCop static code analyzer.

rake rubotest

To run the integration tests against an LDAP server:

cd test/support/vm/openldap
vagrant up
cd ../../../..
INTEGRATION=openldap bundle exec rake rubotest


This section is for gem maintainers to cut a new version of the gem.

  • Check out a new branch `release-VERSION`

  • Update lib/net/ldap/version.rb to next version number X.X.X following {semver}(

  • Update `History.rdoc`. Get latest changes with `script/changelog`

  • Open a pull request with these changes for review

  • After merging, on the master branch, run `script/release`

:include: Contributors.rdoc

:include: License.rdoc

Something went wrong with that request. Please try again.