Это очень странная ситуация. У меня есть приложение Rails 3, которое аутентифицирует пользователей с помощью OmniAuth. Проблема, с которой я недавно столкнулся, заключается в том, что после правильной проверки пользователя с использованием вышеупомянутого гема в некоторой части кода я установил некоторые переменные сеанса, а именно:
session[:user_id] = user.id
Проблема в том, что эта строка работает только для некоторых пользователей (она не зависит от браузера, файлов cookie, ничего, только для определенных пользователей. Переменная user
является действительной и имеет атрибут id
, но эта переменная сеанса не сохраняется при следующем запросе, отправляя этого пользователя обратно на страницу входа в систему. Опять же, это происходит только с некоторыми пользователями, что значительно усложняет отладку проблемы.
Есть идеи? Заранее спасибо!
PS: я попытался использовать хранилище сеансов cookie и хранилище сеансов базы данных, оба с одинаковыми результатами.
РЕДАКТИРОВАТЬ : В результате возникла проблема, совершенно не связанная с сессиями.