Class: IdrStaff::HetznerStaffLdap

Inherits:
SoarLdap::LdapProvider
  • Object
show all
Defined in:
lib/idr_staff/hetzner_staff_ldap.rb

Instance Method Summary collapse

Instance Method Details

#find_entity(connection, identifier) ⇒ Object



5
6
7
8
9
10
11
12
13
# File 'lib/idr_staff/hetzner_staff_ldap.rb', line 5

def find_entity(connection, identifier)
  connection.search(@path, ::LDAP::LDAP_SCOPE_SUBTREE, 'objectClass=*', ['objectClass', 'cn', 'dn', 'entryuuid', 'description']) do |entry|
    uuid = entry['entryUUID'].first
    dn = entry.dn
    return entry if uuid == identifier
    return entry if dn and dn == "genieUser=#{identifier.downcase},ou=people,dc=hetzner,dc=co,dc=za"
  end
  nil
end