Skip to content

Instantly share code, notes, and snippets.

@mchung
Created January 21, 2009 17:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mchung/50050 to your computer and use it in GitHub Desktop.
Save mchung/50050 to your computer and use it in GitHub Desktop.
require 'rubygems'
require 'net/ldap'
# sudo gem install ruby-net-ldap
HOSTNAME = "foo.local"
BASENAME = "dc=openrain,dc=com"
PORT = 389
puts "What's your username"
username = STDIN.readline.chomp
puts "What's your password"
password = STDIN.readline.chomp
ldap = Net::LDAP.new
ldap.host = HOSTNAME
ldap.port = PORT
me = "uid=#{username},cn=users,#{BASENAME}"
ldap.auth(me, password)
if ldap.bind
filter = Net::LDAP::Filter.eq("uid", username)
attrs = ["uid", "givenName", "sn", "mail"]
result = ldap.search(:base => BASENAME, :filter => filter, :attributes => attrs).first
puts "Hello #{result.givenName} #{result.sn} (#{result.mail})"
else
puts "Result: #{ldap.get_operation_result.code}"
puts "Message: #{ldap.get_operation_result.message}"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment