authlogic fails on existing accounts when crypted_password is blank

I recently ran a migration to add the following to an existing user
model:

    t.string "crypted_password"
    t.string "password_salt"
    t.string "persistence_token"

There is an existing (cleartext) password field, but authlogic doesn't
seem to be reading that on existing accounts. As a result, all logins
for existing accounts fail.

How can I get authlogic to either use the cleartext passwords, or to
bulk-populate the crypted_password and password_salt fields for existing
accounts?

OTTOMH:

User.find(:all).each do |user|
user.password = user.cleartextpassword
user.password_confirmation = user.cleartextpassword
user.save
end

(the password_confirmation might not be necessary)

Remember authlogic adds its own password method, there might be
unpleasantness if you have a column called password too.

I recently ran a migration to add the following to an existing user

model:

t.string   "crypted_password"

t.string   "password_salt"

t.string   "persistence_token"

There is an existing (cleartext) password field, but authlogic doesn’t

seem to be reading that on existing accounts. As a result, all logins

for existing accounts fail.

How can I get authlogic to either use the cleartext passwords, or to

bulk-populate the crypted_password and password_salt fields for existing

accounts?

Hi, you might want to take a look at the following screencast:

http://railscasts.com/episodes/160-authlogic

Good luck,

-Conrad

Don't forget step 2: LART whoever thought a cleartext password field
was a good idea. :slight_smile:

--Matt Jones