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.
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.
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/devise_ldap_authenticatable/model.rb', line 48 def authenticate_with_ldap(attributes={}) return nil unless attributes[:email].present? conditions = attributes.slice(:email) unless conditions[:email] conditions[:email] = "#{conditions[:email]}" end resource = find_for_ldap_authentication(conditions) if (resource.blank? and ::Devise.ldap_create_user) resource = new(conditions.merge({:password => attributes[:password]})) end if resource.try(:valid_ldap_authentication?, attributes[:password]) resource.save if resource.new_record? return resource else return nil end end |