Module: Devise::Models::LdapAuthenticatable::ClassMethods
- Defined in:
- lib/devise_ldap_authenticatable/model.rb
Instance Method Summary collapse
-
#authenticate_with_ldap(attributes = {}) ⇒ Object
Authenticate a user based on configured attribute keys.
- #update_with_password(resource) ⇒ Object
Instance Method Details
#authenticate_with_ldap(attributes = {}) ⇒ Object
Authenticate a user based on configured attribute keys. Returns the authenticated user if it’s valid or nil.
80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/devise_ldap_authenticatable/model.rb', line 80 def authenticate_with_ldap(attributes={}) auth_key = self.authentication_keys.first return nil unless attributes[auth_key].present? auth_key_value = (self.case_insensitive_keys || []).include?(auth_key) ? attributes[auth_key].downcase : attributes[auth_key] # resource = find_for_ldap_authentication(conditions) resource = where(auth_key => auth_key_value).first if (resource.blank? and ::Devise.ldap_create_user) resource = new resource[auth_key] = auth_key_value resource.password = attributes[:password] end if resource.try(:valid_ldap_authentication?, attributes[:password]) if resource.new_record? resource.ldap_before_save if resource.respond_to?(:ldap_before_save) resource.save end return resource else return nil end end |
#update_with_password(resource) ⇒ Object
106 107 108 |
# File 'lib/devise_ldap_authenticatable/model.rb', line 106 def update_with_password(resource) puts "UPDATE_WITH_PASSWORD: #{resource.inspect}" end |