В чем разница между созданием сеанса и cookie?

Я работаю над своим первым сайтом с Play! framework, и в какой-то момент я вызываю этот метод, когда пользователь входит в систему:

static void connect(User user){
    session.put("userid", user.id);
}

Простое сохранение идентификатора пользователя в сеансе, и я могу проверить, установлен ли он для каждого запроса, работает нормально. Проблема в том, что после закрытия браузера cookie теряется, и пользователю необходимо снова войти в систему. Я хочу создать параметр «запомнить меня», и кажется, что единственный способ сделать это - создать файл cookie и отправить его с ответом, например:

response.setCookie("user", userdata, "14d");

Итак, мне интересно, в чем смысл создания сеанс, когда он делает то же самое? (Но не дает мне никакого контроля над временем cookie). И еще одна вещь, которую я еще не нашел, - это как прочитать cookie из запроса?

(И я знаю, что файлы cookie, созданные с помощью setCookie, не зашифрованы, и мне нужно вызвать Crypto. sign () )

5
задан 18 June 2011 в 20:30
поделиться