Problems with Auth to my mysql db

Hi, I am new to ruby/rails. learning fast but still getting stuck on key
places…
so I have a db and a colum called email and crypt one is obviosly the
email of the users and the other the password column.
so I have this controller for the main application controller:

protected
def login_required
session[:auth] ? yield : render(:template => ‘login/login’)
end

this login controller:


skip_filter :login_required

def logout(msg = “”)
reset_session
flash[:notice] = msg if msg.length
redirect_to ‘/’
end

def check
if not request.post?
logout(“Invalid request.”)
elsif session[:auth] = Login.authenticate(params[:email,
params[:crypt])
redirect_to :back
else
logout(“Your user name and password are invalid.”)
end
end


and this as model:

set_table_name “users” # this is because the table is not named login
but users.

    validates_presence_of :email

    def self.authenticate(email, crypt)
    password = crypt
    if email
            salt = 

[Array.new(6){rand(256).chr}.join].pack(“m”).chomp
expected_password = password.crypt(salt)
if Users.crypt != expected_password
email = nil
end
end
email
end

and here is my views:

<%= error_messages_for ‘login’ %>

Enter your email and password <% form_tag do %>

Email
<%= text_field_tag :email, params[:email] %>

Password
<%= password_field_tag :crypt, params[:crypt] %>

<%= submit_tag "Login" %> <% end %>

the issue: I see the form… that is easy :wink:
but I put in a real email and password and does not work…
when I put a wrong one it does not give me the result I expect…

I use the path and no matter were I go it will redirect me to the
login(this is good)
www.domain.org/login

Any help will be VERY apreciated.

Thanks

sorry the title of my last email is confusing since looks like I am
having trouble with mysql, but no is with my code.

rek2
escribió:> Hi, I am new to ruby/rails. learning fast but still getting stuck on key

    password = crypt

    <label for="email">Email</label><br/>

Any help will be VERY apreciated.

Thanks


http://rek2.binaryfreedom.info
http://www.spboston.org

a social revolution is the only feasible route
to the establishment of socialism.

  • Karl Marx -
    def self.authenticate(email, crypt)
    password = crypt
    if email
            salt = [Array.new(6){rand(256).chr}.join].pack("m").chomp
            expected_password = password.crypt(salt)
            if Users.crypt != expected_password
            email = nil

You do know that you need the salt to be the same as when you
originally created the user right? (if not what would be the point of
it?)

Fred

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs