Истечение сеансовых куки Стойки набора программно

Я использую Стойку, чтобы попытаться реализовать, "Помнят Меня" функциональность в моем приложении Sinatra.

Я могу установить сеансовые куки для истечения, когда сессия заканчивается или через X секунд, но я хотел бы сделать обоих.

Например, если пользователь нажал "remember me" затем, я хочу для их сессии закончиться после X секунд. Например, мой app.rb имеет строку, которая похожа на это:

use Rack::Session::Cookie, :expire_after => 2592000, #30 days in seconds
                           :secret => MY_SECRET

Я попытался сделать следующее, когда пользователь входит в систему:

if (!remember_me)
  env['rack.session.options'][:expire_after] = nil
end

Однако это не устанавливает значение cookie.

Как установить это?

14
задан Cœur 4 January 2019 в 10:01
поделиться

1 ответ

Это, вероятно, нужно сделать до загрузки сеанса.

См. Rack :: Session :: Cookie # load_session и Rack :: Session :: Cookie # commit_session

0
ответ дан 1 December 2019 в 16:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: