2013-06-07 4 views
0

фон:Authlogic и Invalid Сессия

Я унаследовал старое приложение Rails, которое я пытаюсь настроить локальную копию и запустить в проблему с драгоценным камнем Authlogic используется для аутентификации. Настройка заключается в следующем:

  • Rails 2.3.18 приложение, которое является унаследованное приложение
  • Использование Authlogic для аутентификации.
  • Не удалось создать действующий сеанс

Testing:

Приложение имеет модель пользователя и она построена с использованием простых шагов, описанных в AuthLogic Quick Rails example. Ступенчатые Войти маршруты к контроллеру UserSessions принять параметры пользователя (логин и пароль), создает новую сессию затем пытаются сохранить сессию, так как:

UserSessionsController.rb 

.... 

@user_session = current_account.user_sessions.new(params[:user_session]) 

if @user_session.save 
    # login success 
    .... 
else 
    # login failure 
end 

Это последний шаг, который не удается. И когда я проверяю ошибки на объекте @user_session я получаю строку «Логина не действует»

Кроме того, я проверил это с помощью консоли рельсов и следовал инструкциям, согласно статье: Working with Authlogic in console. В основном это требует, чтобы в консоли вы выполняете:

Authlogic::Session::Base.controller = Authlogic::ControllerAdapters::RailsAdapter.new(self) 

Используя этот метод, когда я моделировать создание UserSession через вызов, как:

us=UserSession.new(:login=> "[email protected]", :password => "secret") 

Я получаю ошибку: #<UserSession: no credentials provided>

В настоящее время в в обоих случаях идентификатор пользователя существует в БД.

Любые советы/рекомендации по диагностике неисправностей были бы наиболее желанными!

ответ

1

Похоже, вы пытаетесь получить доступ к методу current_account удобства в вашем create действия, но вы, вероятно, не вошли в ранее, так что я не уверен, где current_account будет приходить с. Используется ли следующий фрагмент вместо существующего задания @user_session?

# app/controllers/user_sessions_controller.rb 
@user_session = UserSession.new(params[:user_session]) 
+0

Благодарим за предложение - дайте ему попробовать и прокомментировать дальше. –

+0

Не повезло - по-прежнему не удается с ошибкой [«Вход недействителен»]. Подозревать, возможно, еще одна проблема с UserSession. –

+0

Вы подтвердили, что используете правильные учетные данные? Возможно, попробуйте создать совершенно нового пользователя, например, 'UserSession.create (: login =>" bjohnson ",: password =>" my password ",: remember_me => true)'. Затем попробуйте войти в эту учетную запись? – zeantsoi

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