从 Django 的前端强制注销用户

问题描述 投票:0回答:1

我在前端使用 React,在后端使用 Django。我在 django admin 中创建了一个按钮“强制注销”,每次使用我都想注销在前端工作的用户(当他刷新时,他应该注销)。我想在不触及 Reach 的情况下完全在 django 中完成此操作。我正在使用

djangorestframework-simplejwt
进行身份验证。

django django-rest-framework django-views django-admin django-rest-framework-simplejwt
1个回答
0
投票

你可以这样做。也许有更好的方法。假设

AuthSession
创建一个表来存储会话数据。字段
username
session_key
。每当有人登录时。将这两个字段值添加到该新表中。如果其中有相同的用户名,则从
AuthSession
中删除旧的。比您可以像处理常规表一样在管理面板中列出普通表数据。无论您想进行哪个会话
Force logout
您已经拥有它的会话密钥。像这样
from django.contrib.sessions.models import Session
从表
Session.objects.filter(session_key=key).delete()
中删除它并且该用户将从他的设备中注销。 但是你必须使用据点中间件来保持你的应用程序一直需要登录

© www.soinside.com 2019 - 2024. All rights reserved.