Advertisement
Guest User

Untitled

a guest
Mar 27th, 2016
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. require 'net/ldap'
  2. require 'yaml'
  3.  
  4. class LdapUserChecker
  5. def config
  6. config ||= YAML.load_file("ldap-config.yaml")
  7. end
  8.  
  9. def ldap
  10. ldap ||= Net::LDAP.new :host => config['ldap']['server'],
  11. :port => config['ldap']['port'],
  12. :auth => {
  13. :username => config['ldap']['username'],
  14. :password => config['ldap']['password'],
  15. :method => :simple
  16. }
  17. raise 'connection failed' unless ldap.bind
  18.  
  19. ldap
  20. end
  21.  
  22. def exist_user_id??(id)
  23. filter = Net::LDAP::Filter.eq("uid", uid)
  24. base = config['ldap']['base']
  25.  
  26. ldap.search(:base => base, :filter => filter) do |entry|
  27. entry.each do |attribute, values|
  28. values.each do |val|
  29. if attribute['uid']
  30. return true
  31. else
  32. return false
  33. end
  34. end
  35. end
  36. end
  37. end
  38.  
  39. def exist_email?(email)
  40.  
  41. filter = Net::LDAP::Filter.eq("mail", email)
  42. base = config['ldap']['base']
  43.  
  44. ldap.search(:base => base, :filter => filter) do |entry|
  45. entry.each do |attribute, values|
  46. values.each do |val|
  47. if attribute['mail']
  48. return true
  49. else
  50. return false
  51. end
  52. end
  53. end
  54. end
  55.  
  56. end
  57.  
  58. end
  59.  
  60. ldap = LdapUserChecker.new
  61.  
  62.  
  63.  
  64. email = ARGV[0]
  65. puts ldap.exist_email?(email)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement