Module: DRbService::LDAPAuthentication::ClassMethods
- Defined in:
- lib/drbservice/ldapauth.rb
Overview
Methods added to including classes when LDAPAuthentication is mixed in.
Constant Summary collapse
- DEFAULT_SEARCH =
The default attributes of a search
{ :filter => 'uid=%s', :base => nil, :scope => :sub, }.freeze
Class Method Summary collapse
-
.extended(mod) ⇒ Object
Extension callback – add the necessary class instance variables to extended modules.
Instance Method Summary collapse
-
#ldap_authz_callback(callable = nil, &block) ⇒ Object
Register a function to call when the user successfully binds to the directory to check for authorization.
-
#ldap_dn(pattern = nil) ⇒ Object
Set the pattern to use when creating the DN to use when binding.
-
#ldap_dn_search(filter = nil, options = {}) ⇒ Object
Set a filter that is used when searching for an account to bind as.
-
#ldap_uri(uri = nil) ⇒ Object
Set the URI of the LDAP server to bind to for authentication.
Class Method Details
.extended(mod) ⇒ Object
Extension callback – add the necessary class instance variables to extended modules.
25 26 27 28 29 30 31 |
# File 'lib/drbservice/ldapauth.rb', line 25 def self::extended( mod ) super mod.instance_variable_set( :@ldap_uri, nil ) mod.instance_variable_set( :@ldap_dn, nil ) mod.instance_variable_set( :@ldap_dn_search, DEFAULT_SEARCH.dup ) mod.instance_variable_set( :@ldap_authz_callback, nil ) end |
Instance Method Details
#ldap_authz_callback(callable = nil, &block) ⇒ Object
Register a function to call when the user successfully binds to the directory to check for authorization. It will be called with the Treequel::Branch of the bound user and the Treequel::Directory they are bound to. Returning true
from this function will cause authorization to succeed, while returning a false value causes it to fail.
68 69 70 71 72 73 74 75 76 |
# File 'lib/drbservice/ldapauth.rb', line 68 def ldap_authz_callback( callable=nil, &block ) if callable @ldap_authz_callback = callable elsif block @ldap_authz_callback = block end return @ldap_authz_callback end |
#ldap_dn(pattern = nil) ⇒ Object
Set the pattern to use when creating the DN to use when binding.
42 43 44 45 |
# File 'lib/drbservice/ldapauth.rb', line 42 def ldap_dn( pattern=nil ) @ldap_dn = pattern if pattern return @ldap_dn end |
#ldap_dn_search(filter = nil, options = {}) ⇒ Object
Set a filter that is used when searching for an account to bind as.
50 51 52 53 54 55 56 57 58 59 |
# File 'lib/drbservice/ldapauth.rb', line 50 def ldap_dn_search( filter=nil, ={} ) if filter @ldap_dn_search ||= {} @ldap_dn_search[:filter] = filter @ldap_dn_search[:base] = [:base] if [:base] @ldap_dn_search[:scope] = [:scope] if [:scope] end return @ldap_dn_search end |
#ldap_uri(uri = nil) ⇒ Object
Set the URI of the LDAP server to bind to for authentication
35 36 37 38 |
# File 'lib/drbservice/ldapauth.rb', line 35 def ldap_uri( uri=nil ) @ldap_uri = uri if uri return @ldap_uri end |