Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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?

like image 629
Sam Saffron Avatar asked Aug 18 '09 10:08

Sam Saffron


1 Answers

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

UserSession.create(@some_user)

I haven't tried it though.

like image 93
ryanb Avatar answered Oct 12 '22 09:10

ryanb