Создание сеанса осуществляется с помощью стойки, а commit_session
method in Rack::Session::Abstract::ID предоставляет возможность отказаться от сеанса. Я написал метод фильтра в моем ApplicationController
уронить сессию, если Разрабатывает-х current_user
не определен:
after_filter :skip_session
def skip_session
unless current_user
request.session_options = {drop: true}
end
end
Это предотвращает создание сеанса , но все же позволяет сеансы для зарегистрированных пользователей. Это даже позволяет пользователям входить в систему (довольно важно) - они посещают страницу входа без сеанса, но после отправки формы Devise устанавливает current_user
перед запуском этого фильтра, тем самым создавая сеанс.
1: на самом деле сеанс создается и только не совершается; в моем случае фиксация происходит с БД, но если вы используете сеансы cookie по умолчанию Rails, это предотвратит отправку файла cookie сеанса.