class LdapFluff
Attributes
Public Class Methods
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) when :netiq @ldap = NetIQ.new(config) else raise 'unknown server_type' end @instrumentation_service = config.instrumentation_service end
Public Instance Methods
Source
# File lib/ldap_fluff/ldap_fluff.rb, line 24 def authenticate?(uid, password) instrument('authenticate.ldap_fluff', :uid => uid) do |_payload| if password.nil? || password.empty? false else !!@ldap.bind?(uid, password) end end end
Source
# File lib/ldap_fluff/ldap_fluff.rb, line 84 def find_group(gid) instrument('find_group.ldap_fluff', :gid => gid) do |_payload| @ldap.member_service.find_group(gid) end end
return ldap entry
Source
# File lib/ldap_fluff/ldap_fluff.rb, line 77 def find_user(uid) instrument('find_user.ldap_fluff', :uid => uid) do |_payload| @ldap.member_service.find_user(uid) end end
return ldap entry
Source
# File lib/ldap_fluff/ldap_fluff.rb, line 48 def group_list(uid) instrument('group_list.ldap_fluff', :uid => uid) do |_payload| @ldap.groups_for_uid(uid) end end
return a list[] of groups for a given uid
Source
# File lib/ldap_fluff/ldap_fluff.rb, line 56 def is_in_groups?(uid, grouplist) instrument('is_in_groups?.ldap_fluff', :uid => uid, :grouplist => grouplist) do |_payload| @ldap.is_in_groups(uid, grouplist, true) end end
return true if a user is in all of the groups in grouplist
Source
# File lib/ldap_fluff/ldap_fluff.rb, line 34 def test instrument('test.ldap_fluff') do |_payload| @ldap.ldap.open {} end end
Source
# File lib/ldap_fluff/ldap_fluff.rb, line 41 def user_list(gid) instrument('user_list.ldap_fluff', :gid => gid) do |_payload| @ldap.users_for_gid(gid) end end
return a list[] of users for a given gid
Source
# File lib/ldap_fluff/ldap_fluff.rb, line 70 def valid_group?(gid) instrument('valid_group?.ldap_fluff', :gid => gid) do |_payload| @ldap.group_exists? gid end end
return true if group exists
Source
# File lib/ldap_fluff/ldap_fluff.rb, line 63 def valid_user?(uid) instrument('valid_user?.ldap_fluff', :uid => uid) do |_payload| @ldap.user_exists? uid end end
return true if uid exists
Private Instance Methods
Source
# File lib/ldap_fluff/ldap_fluff.rb, line 92 def instrument(event, payload = {}) payload = (payload || {}).dup if instrumentation_service instrumentation_service.instrument(event, payload) do |payload| payload[:result] = yield(payload) if block_given? end else yield(payload) if block_given? end end