refactor session validation for single device login

Co-authored-by: Copilot <copilot@github.com>
1 parent 96c307cf
...@@ -462,8 +462,9 @@ def add_cors_headers_response_callback(event): ...@@ -462,8 +462,9 @@ def add_cors_headers_response_callback(event):
@subscriber(NewRequest) @subscriber(NewRequest)
def check_single_device_session(event): def check_single_device_session(event):
request = event.request request = event.request
if request.user and BASE_CLASS.single_device: user = request.user
if request.user.session_id != request.session.id: if BASE_CLASS.single_device and user and not user.multi_device:
if user.session_id != request.session.id:
request.session.invalidate() request.session.invalidate()
request.session.flash("Sesi Anda telah berakhir karena login dari perangkat lain.", "error") request.session.flash("Sesi Anda telah berakhir karena login dari perangkat lain.", "error")
raise HTTPFound(location=request.route_url('base-login'), headers=forget(request)) raise HTTPFound(location=request.route_url('base-login'), headers=forget(request))
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!