class Devise::Strategies::DatabaseAuthenticatable

Redirects to sign_in page if it’s not authenticated
Default strategy for signing in a user, based on his email and password.

def authenticate!

to sign in page.
success and the authenticated user if everything is okay. Otherwise redirect
Authenticate a user based on email and password params, returning to warden
def authenticate!
  if resource = mapping.to.authenticate(params[scope])
    success!(resource)
  else
    fail(:invalid)
  end
end

def valid?

def valid?
  valid_controller? && valid_params? && mapping.to.respond_to?(:authenticate)
end

def valid_controller?

def valid_controller?
  params[:controller] =~ /sessions$/
end

def valid_params?

def valid_params?
  params[scope] && params[scope][:password].present?
end