Потеря сеанса между запросами в Play 1.2.2 - PullRequest
2 голосов
/ 08 июля 2011

У меня действительно странная проблема.Я повторно использую фрагмент кода, который был полностью функциональным в предыдущем проекте, но теперь не работает.Код делает что-то вроде этого (код упрощен до минимального сценария сбоя):

 if (OpenID.isAuthenticationResponse()) {
    UserInfo verifiedUser = OpenID.getVerifiedID();
    String value = session.get(AppKeys.AUTH_METHOD); << ERROR
    Application.index();
 } else {
    OpenID openid = getOpenId(client);
    session.put(AppKeys.AUTH_METHOD, value);
    if (!openid.verify()) { 
        Application.index();
    }
 }

Ранее я мог получить значение в строке, помеченной как ОШИБКА.Теперь эта строка устанавливает значение в ноль.Я провел несколько тестов, и почему-то значения сеанса теряются во время запросов, хотя идентификатор сеанса всегда одинаков (поэтому сам сеанс не теряется).

Я уверен, что тамэто какая-то конфигурация, которую я сломал, но я не могу найти какую.Кто-нибудь знает?

1 Ответ

3 голосов
/ 08 июля 2011

В одной из этих ситуаций «найти ответ, как вы отправили вопрос» я обнаружил проблему.Это была настройка, которая мешала процессу:

# application.defaultCookieDomain=.xxxxx.com

Поскольку я нахожусь в localhost, cookie не был получен, и в Play значения сеанса сохраняются в cookie, так как Play не имеет состояния.

Да, пора идти спать ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...