class LdapFluff

Public Class Methods

new(config = {}) click to toggle source
# File lib/ldap_fluff/ldap_fluff.rb, line 7
def initialize(config = {})
  config = LdapFluff::Config.new(config)
  case config.server_type
  when :posix
    @ldap = Posix.new(config)
  when :active_directory
    @ldap = ActiveDirectory.new(config)
  when :free_ipa
    @ldap = FreeIPA.new(config)
  else
    raise 'unknown server_type'
  end
end

Public Instance Methods

authenticate?(uid, password) click to toggle source

return true if the user password combination authenticates the user, otherwise false

# File lib/ldap_fluff/ldap_fluff.rb, line 23
def authenticate?(uid, password)
  if password.nil? || password.empty?
    # protect against passwordless auth from ldap server
    return false
  else
    @ldap.bind? uid, password
  end
end
group_list(uid) click to toggle source

return a list[] of groups for a given uid

# File lib/ldap_fluff/ldap_fluff.rb, line 33
def group_list(uid)
  @ldap.groups_for_uid(uid)
end
is_in_groups?(uid, grouplist) click to toggle source

return true if a user is in all of the groups in grouplist

# File lib/ldap_fluff/ldap_fluff.rb, line 39
def is_in_groups?(uid, grouplist)
  @ldap.is_in_groups(uid, grouplist, true)
end
valid_group?(gid) click to toggle source

return true if group exists

# File lib/ldap_fluff/ldap_fluff.rb, line 49
def valid_group?(gid)
  @ldap.group_exists? gid
end
valid_user?(uid) click to toggle source

return true if uid exists

# File lib/ldap_fluff/ldap_fluff.rb, line 44
def valid_user?(uid)
  @ldap.user_exists? uid
end