Tôi muốn vô hiệu hóa phiên khi người dùng đăng xuất bằng Devise, tôi có một cuộc gọi lại để bắt khi người dùng đăng xuất, để bảo vệ nhiều hơn chống lại việc chiếm đoạt phiên.Làm thế nào để vô hiệu hóa phiên cụ thể khi đăng xuất trong Rails/w Devise?
class ApplicationController < ActionController::Base
def sign_out(*args)
super(*args)
reset_session
end
end
Tôi hiểu rằng điều này sẽ xóa thông tin phiên được lưu trữ ở phía máy chủ, do đó làm mất hiệu lực.
Tuy nhiên tôi vẫn có thể đăng nhập bằng id phiên tôi nhận được trước khi đăng xuất. Tôi có hiểu lầm về cách hoạt động của nó không? Tôi chỉ muốn vô hiệu hóa phiên này, không phải tất cả chúng.
Tôi đang sử dụng mặc định cho session_store.
bạn nhận 'session_id' từ đâu? Ngoài ra, bạn đã thêm mã tùy chỉnh cụ thể của phiên nào khác? – pungoyal
Tôi đã được ấn tượng rằng reset_session không yêu cầu session_id được mua lại, tôi chưa thêm bất kỳ mã tùy chỉnh nào có thể ảnh hưởng đến giá trị phiên. – Saifis