Сеанс cookie в рельсах - это то же самое, что cookie или сеанс?

Я читаю «Гибкая веб-разработка с Rails, 3-е издание» и не понимаю, как насчет cookie сеанса.

На странице 474 есть тема об обнаружении файлов cookie, и они говорят, как обработать пользователя с отключенными файлами cookie. И они придумывают идею сеанса cookie, которая, как я понимаю, является поддельной сессией, которая действует как cookie, верно?

Я не понимаю, что они используют примеры кодов before_filter: cookies_required и запрашивают request.cookies [session_key]. Это то же самое, что и переменная cookies, или это «фальшивый сеанс cookie», о котором они говорят?

И если это «сеанс поддельных файлов cookie», как насчет использования тех, у кого есть файлы cookie? Я не вижу кода, определяющего, у какого пользователя есть, а у кого нет файлов cookie?

p.s. Не знаю, понимаете ли вы мой вопрос. Я сейчас очень запутался.

Спасибо,


person sarunw    schedule 19.10.2009    source источник


Ответы (1)


Страница 474 немного сбивает с толку. Сеанс на основе файлов cookie, который является хранилищем сеансов rails по умолчанию, сохраняет session_id как файл cookie. Вы также можете сбросить хранилище сеансов - см. Нижнюю часть p477-479.

Примеры кода, о которых вы спрашиваете, перечислены в книге перед темой сеанса. Это настоящие файлы cookie, как если бы они были установлены в javascript, а не в сеансах, которые установлены как cookie_store. Они просто сохраняют: session_key в cookie.

Метод cookies_test проверяет, есть ли у пользователя доступ к файлам cookie.

person daustin777    schedule 21.10.2009