Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'net/ldap'
- require 'yaml'
- class LdapUserChecker
- def config
- config ||= YAML.load_file("ldap-config.yaml")
- end
- def ldap
- ldap ||= Net::LDAP.new :host => config['ldap']['server'],
- :port => config['ldap']['port'],
- :auth => {
- :username => config['ldap']['username'],
- :password => config['ldap']['password'],
- :method => :simple
- }
- raise 'connection failed' unless ldap.bind
- ldap
- end
- def exist_user_id??(id)
- filter = Net::LDAP::Filter.eq("uid", uid)
- base = config['ldap']['base']
- ldap.search(:base => base, :filter => filter) do |entry|
- entry.each do |attribute, values|
- values.each do |val|
- if attribute['uid']
- return true
- else
- return false
- end
- end
- end
- end
- end
- def exist_email?(email)
- filter = Net::LDAP::Filter.eq("mail", email)
- base = config['ldap']['base']
- ldap.search(:base => base, :filter => filter) do |entry|
- entry.each do |attribute, values|
- values.each do |val|
- if attribute['mail']
- return true
- else
- return false
- end
- end
- end
- end
- end
- end
- ldap = LdapUserChecker.new
- email = ARGV[0]
- puts ldap.exist_email?(email)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement