First, A Happy New Year to you all
Second :

this is my login action form the admin controller:
def login
    if request.post?
      user = User.authenticate(params[:name], params[:password])
      if user
        if user.banned_status == "true"
          flash.now[:notice] = "We are sorry.You can not log in beause
you have been banned.Contact the admin at r...@gmail.com to solve this
problem"

        elsif user.blocked_status == "true"
          flash.now[:notice] = "We are sorry.You are still
blocked.Contact the admin at r...@gmail.com to solve this problem"
        else
          session[:user_id] = user.id
          redirect_to :action => "index"
        end
      else
        flash.now[:notice] = "Invalid user/password combination #
{user.id}"
    end# 2nd if
   end# 1st if
  end#login
================
this is my user model for the authenticate method :
 def self.authenticate(name, password)
        user = User.find(:all, :conditions => ["name = :param",{:param
=> name}])
        if user.size > 0
            user.each do |correct_user|
                expected_password = User.encrypted_password(password,
correct_user.salt)
                if correct_user.hashed_password == expected_password
                    idx = user.index(correct_user)

                   return user[idx]
                end
            end#do
            user = nil
        else
          user = nil
        end#1st if
    end#def
======
and the login view :
<div class="shope_form">
    <% form_tag do %>
            <fieldset>
            <div>
                <label for="name">Name:</label>
                <%= text_field_tag :name, params[:name] %>
            </div>

            <div>
                <label for="password">Password:</label>
                <%= password_field_tag :password, params[:password] %>
            </div>

            <div>
                <%= submit_tag "Login", :name => nil %>
            <div>
        </fieldset>
    <% end %>
</div>

So the thing is that in my db i have two users with the same name, but
no twith the same password.
 id = 2
           name = radu
        surname = puspana
hashed_password = 6b2711b337ae9b5c8a5932e60955f25dc42bcec1

             id = 4
           name = radu
        surname = gica
hashed_password = caf5488d972483c5b064a1afbe30b4370391ab73

The problem is that when i try to login with the first name, radu and
the password admin, it works fine, but if i try to login in with the
second name(id =4) radu andthe pass gica1, it return the nil value
back to the controller, so user in the controller will be nil, showing
the message "Invalid username/password" although the name and pass are
correct...

what the heck???

a billion thx in advance,
radu

--

You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-t...@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.


Reply via email to