Class: LdapFluff
- Inherits:
-
Object
- Object
- LdapFluff
- Defined in:
- lib/ldap_fluff/error.rb,
lib/ldap_fluff/ldap_fluff.rb
Defined Under Namespace
Classes: ActiveDirectory, Config, Error, FreeIPA, Generic, GenericMemberService, NetIQ, Posix
Instance Attribute Summary collapse
-
#instrumentation_service ⇒ Object
Returns the value of attribute instrumentation_service.
-
#ldap ⇒ Object
Returns the value of attribute ldap.
Instance Method Summary collapse
- #authenticate?(uid, password) ⇒ Boolean
-
#find_group(gid) ⇒ Object
return ldap entry.
-
#find_user(uid) ⇒ Object
return ldap entry.
-
#group_list(uid) ⇒ Object
return a list[] of groups for a given uid.
-
#initialize(config = {}) ⇒ LdapFluff
constructor
A new instance of LdapFluff.
-
#is_in_groups?(uid, grouplist) ⇒ Boolean
return true if a user is in all of the groups in grouplist.
- #test ⇒ Object
-
#user_list(gid) ⇒ Object
return a list[] of users for a given gid.
-
#valid_group?(gid) ⇒ Boolean
return true if group exists.
-
#valid_user?(uid) ⇒ Boolean
return true if uid exists.
Constructor Details
#initialize(config = {}) ⇒ LdapFluff
Returns a new instance of LdapFluff.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# 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 |
Instance Attribute Details
#instrumentation_service ⇒ Object
Returns the value of attribute instrumentation_service.
5 6 7 |
# File 'lib/ldap_fluff/ldap_fluff.rb', line 5 def instrumentation_service @instrumentation_service end |
#ldap ⇒ Object
Returns the value of attribute ldap.
5 6 7 |
# File 'lib/ldap_fluff/ldap_fluff.rb', line 5 def ldap @ldap end |
Instance Method Details
#authenticate?(uid, password) ⇒ Boolean
24 25 26 27 28 29 30 31 32 |
# 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 |
#find_group(gid) ⇒ Object
return ldap entry
84 85 86 87 88 |
# 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 |
#find_user(uid) ⇒ Object
return ldap entry
77 78 79 80 81 |
# 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 |
#group_list(uid) ⇒ Object
return a list[] of groups for a given uid
48 49 50 51 52 |
# 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 |
#is_in_groups?(uid, grouplist) ⇒ Boolean
return true if a user is in all of the groups in grouplist
56 57 58 59 60 |
# 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 |
#test ⇒ Object
34 35 36 37 38 |
# File 'lib/ldap_fluff/ldap_fluff.rb', line 34 def test instrument('test.ldap_fluff') do |_payload| @ldap.ldap.open {} end end |
#user_list(gid) ⇒ Object
return a list[] of users for a given gid
41 42 43 44 45 |
# 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 |
#valid_group?(gid) ⇒ Boolean
return true if group exists
70 71 72 73 74 |
# 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 |
#valid_user?(uid) ⇒ Boolean
return true if uid exists
63 64 65 66 67 |
# 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 |