Authentication

Application will not authenticate [sends alert of invalid credentials].
Using user credentials created via rake db:seed. How do I get it to
authenticate?

Agent Model

  def Agent.authenticate(name,password)
    if agent = find_by_name(name)
      if agent.hash == encrypt_password(password,agent.salt)
        agent
      end
    end
  end

SessionController

def create
if agent = Agent.authenticate(params[:name],params[:password])
session[:agent_id] = agent.id
redirect_to base_url
else
redirect_to login_url,:alert=>“Invalid credentials”
end
end

On 1 May 2012 14:00, Daniel C. [email protected] wrote:

Application will not authenticate [sends alert of invalid credentials].
Using user credentials created via rake db:seed. How do I get it to
authenticate?

Which bit is not working? See the Rails Guide on debugging for help
on how to debug your code.

Colin

On May 1, 2:00pm, Daniel C. [email protected] wrote:

Application will not authenticate [sends alert of invalid credentials].
Using user credentials created via rake db:seed. How do I get it to
authenticate?

Agent Model

def Agent.authenticate(name,password)
if agent = find_by_name(name)
if agent.hash == encrypt_password(password,agent.salt)

Have you tried calling agent.hash ? I’d wager that that methods
returns something you don’t expect, because hash is a method all ruby
objects have - I suspect that you’re calling that method rather than
the one that would return the value of your hash column. You can get
at the attribute value via read_attribute, although I’d recommend
avoiding dangerous names like that.

Fred

Colin L. wrote in post #1059060:

On 1 May 2012 14:00, Daniel C. [email protected] wrote:

Application will not authenticate [sends alert of invalid credentials].
Using user credentials created via rake db:seed. How do I get it to
authenticate?

Which bit is not working? See the Rails Guide on debugging for help
on how to debug your code.

Colin

SessionsController portion not working. Will consult guide for
debugging.

Frederick C. wrote in post #1059064:

On May 1, 2:00pm, Daniel C. [email protected] wrote:

Application will not authenticate [sends alert of invalid credentials].
Using user credentials created via rake db:seed. How do I get it to
authenticate?

Agent Model

def Agent.authenticate(name,password)
if agent = find_by_name(name)
if agent.hash == encrypt_password(password,agent.salt)

Have you tried calling agent.hash ? I’d wager that that methods
returns something you don’t expect, because hash is a method all ruby
objects have - I suspect that you’re calling that method rather than
the one that would return the value of your hash column. You can get
at the attribute value via read_attribute, although I’d recommend
avoiding dangerous names like that.

Fred

Appreciate your insight. Was unaware hash was inherited by all objects.
Will try changing the name.