2009-08-18 2 views
6

Мне нужно создать пользовательскую систему без дешифрованного пароля.Как мне олицетворять пользователя с помощью AuthLogic

Как мне это сделать?

Мой текущий обходной путь является:

В user.rb

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

В user_session.rb

verify_password_method :valid_crypted_or_non_crypted_password? 

Для входа

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

Есть ли способ лучше сделай это?

+0

Почему у вас нет расшифрованного пароля? Не можете ли вы создать пользователя с фабрикой до этого и быть явным о пароле? – ryanb

+0

Нет, в этом случае я бы хотел, чтобы мой администратор просматривал веб-сайт, притворяясь другим пользователем. или в случае открытого идентификатора у меня есть запись пользователя, но пароль зашифрован. –

ответ

11

Согласно the documentation, вы можете передать объект пользователя UserSession.create.

UserSession.create(@some_user) 

Я еще не пробовал.

+1

подтверждено! работает как шарм –

+0

Сэм, я не могу получить эту работу (и подробно здесь): http://stackoverflow.com/questions/1234920/integration-testing-with-authlogic/1332275#1332275 любых мыслей о том, как вы получили свою работу, очень ценятся! – kareem

 Смежные вопросы

  • Нет связанных вопросов^_^