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 @instrumentation_service = config.instrumentation_service end
Public Instance Methods
authenticate?(uid, password)
click to toggle source
# File lib/ldap_fluff/ldap_fluff.rb, line 22 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
find_group(gid)
click to toggle source
return ldap entry
# File lib/ldap_fluff/ldap_fluff.rb, line 82 def find_group(gid) instrument('find_group.ldap_fluff', :gid => gid) do |payload| @ldap.member_service.find_group(gid) end end
find_user(uid)
click to toggle source
return ldap entry
# File lib/ldap_fluff/ldap_fluff.rb, line 75 def find_user(uid) instrument('find_user.ldap_fluff', :uid => uid) do |payload| @ldap.member_service.find_user(uid) 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 46 def group_list(uid) instrument('group_list.ldap_fluff', :uid => uid) do |payload| @ldap.groups_for_uid(uid) end 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 54 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
test()
click to toggle source
# File lib/ldap_fluff/ldap_fluff.rb, line 32 def test instrument('test.ldap_fluff') do |payload| @ldap.ldap.open {} end end
user_list(gid)
click to toggle source
return a list[] of users for a given gid
# File lib/ldap_fluff/ldap_fluff.rb, line 39 def user_list(gid) instrument('user_list.ldap_fluff', :gid => gid) do |payload| @ldap.users_for_gid(gid) end end
valid_group?(gid)
click to toggle source
return true if group exists
# File lib/ldap_fluff/ldap_fluff.rb, line 68 def valid_group?(gid) instrument('valid_group?.ldap_fluff', :gid => gid) do |payload| @ldap.group_exists? gid end end
valid_user?(uid)
click to toggle source
return true if uid exists
# File lib/ldap_fluff/ldap_fluff.rb, line 61 def valid_user?(uid) instrument('valid_user?.ldap_fluff', :uid => uid) do |payload| @ldap.user_exists? uid end end
Private Instance Methods
instrument(event, payload = {}) { |payload| ... }
click to toggle source
# File lib/ldap_fluff/ldap_fluff.rb, line 90 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