我在前端使用 React,在后端使用 Django。我在 django admin 中创建了一个按钮“强制注销”,每次使用我都想注销在前端工作的用户(当他刷新时,他应该注销)。我想在不触及 Reach 的情况下完全在 django 中完成此操作。我正在使用
djangorestframework-simplejwt
进行身份验证。
你可以这样做。也许有更好的方法。假设
AuthSession
创建一个表来存储会话数据。字段username
和session_key
。每当有人登录时。将这两个字段值添加到该新表中。如果其中有相同的用户名,则从AuthSession
中删除旧的。比您可以像处理常规表一样在管理面板中列出普通表数据。无论您想进行哪个会话Force logout
您已经拥有它的会话密钥。像这样from django.contrib.sessions.models import Session
从表Session.objects.filter(session_key=key).delete()
中删除它并且该用户将从他的设备中注销。
但是你必须使用据点中间件来保持你的应用程序一直需要登录