class FfcrmLdap::LDAPAccess

Public Class Methods

authenticate(uid, password) click to toggle source

Attempts to bind to LDAP using the given username and password returns true if successful, false otherwise.

# File lib/ffcrm_ldap/ldap_access.rb, line 7
def authenticate(uid, password)
  ldap = connect()
  result = ldap.bind_as(
    :base => Config.search_base,
    :filter => sprintf(Config.user_filter, uid),
    :password => password)
  return !!result
end
get_user_details(uid) click to toggle source
# File lib/ffcrm_ldap/ldap_access.rb, line 16
def get_user_details(uid)
  ldap = connect()

  results = ldap.search(
    :base => Config.search_base,
    :filter => Config.user_filter % uid )
  if results and results.size > 0
    details = {}
    results[0].each do |name, values|
      details[name] = values[0].dup
    end
    details
  else
    nil
  end
end

Protected Class Methods

connect() click to toggle source
# File lib/ffcrm_ldap/ldap_access.rb, line 35
def connect()
  return Net::LDAP.new(
    :host => Config.host,
    :port => Config.port,
    :encryption => Config.ssl ? :simple_tls : nil,
    :auth => {
      :method => :simple,
      :username => Config.bind_dn,
      :password => Config.bind_passwd }
    )
end