Sam Saffron
Sam Saffron

Reputation: 131112

How do I impersonate a user with AuthLogic

I need to be able to create a UserSession without having the decrypted password.

How do I go about doing this?

My current workaround is:

In user.rb

def valid_crypted_or_non_crypted_password?(password) 
   valid_password?(password) || password == crypted_password
end

In user_session.rb

verify_password_method :valid_crypted_or_non_crypted_password?

To login

UserSession.create(:login => u.login, :password => u.crypted_password) 

Is there a nicer way to do this?

Upvotes: 6

Views: 1896

Answers (1)

ryanb
ryanb

Reputation: 16287

According to the documentation you can pass a user object to UserSession.create.

UserSession.create(@some_user)

I haven't tried it though.

Upvotes: 12

Related Questions