Class: LdapFluff::FreeIPA

Inherits:
Generic
  • Object
show all
Defined in:
lib/ldap_fluff/freeipa.rb

Defined Under Namespace

Classes: MemberService, NetgroupMemberService

Instance Attribute Summary

Attributes inherited from Generic

#ldap, #member_service

Instance Method Summary collapse

Methods inherited from Generic

#group_exists?, #includes_cn?, #initialize, #is_in_groups, #service_bind, #user_exists?, #users_for_gid

Constructor Details

This class inherits a constructor from LdapFluff::Generic

Instance Method Details

#bind?(uid = nil, password = nil, opts = {}) ⇒ Boolean

Returns:

  • (Boolean)


2
3
4
5
6
7
8
9
10
11
12
# File 'lib/ldap_fluff/freeipa.rb', line 2

def bind?(uid = nil, password = nil, opts = {})
  unless uid.include?(',')
    unless opts[:search] == false
      service_bind
      user = @member_service.find_user(uid)
    end
    uid = user&.first ? user.first.dn : "uid=#{uid},cn=users,cn=accounts,#{@base}"
  end
  @ldap.auth(uid, password)
  @ldap.bind
end

#groups_for_uid(uid) ⇒ Object



14
15
16
17
18
# File 'lib/ldap_fluff/freeipa.rb', line 14

def groups_for_uid(uid)
  super
rescue MemberService::InsufficientQueryPrivilegesException
  raise UnauthenticatedException, "Insufficient Privileges to query groups data"
end