Я хочу аннулировать сеанс, когда пользователь выходит из системы с помощью Devise, у меня есть обратный вызов, чтобы поймать, когда пользователь выходит из системы, для большей защиты от захвата сеанса.Как аннулировать конкретный сеанс при выходе из системы в Rails/w Разработать?
class ApplicationController < ActionController::Base
def sign_out(*args)
super(*args)
reset_session
end
end
Насколько я понимаю, это приведет к удалению информации о сеансе, хранящейся на стороне сервера, и поэтому ее недействительной.
Однако я все еще могу войти в систему, используя идентификатор сеанса, который я получил до выписки. Я не понимаю, как это работает? Я только хочу сделать недействительным только этот сеанс, не все из них.
Я использую значение по умолчанию для session_store.
Откуда вы получаете 'session_id'? также, какой дополнительный специальный пользовательский код для сеанса вы добавили? – pungoyal
У меня создалось впечатление, что reset_session не требует, чтобы session_id был получен, я не добавил никакого настраиваемого кода, который повлиял бы на значения сеанса. – Saifis