我在前端使用React,在后端使用Django。我在django admin中创建了一个按钮**“强制注销”**,每次点击这个按钮,我都想注销在前端工作的用户(当他刷新时,他应该被注销)。我想完全在django中完成这个操作,而不需要触摸Reach。我使用djangorestframework-simplejwt进行验证。
djangorestframework-simplejwt
bweufnob1#
你可以这样做。也许有一个更好的方法。创建一个表假设AuthSession来存储会话数据。字段username和session_key。每当有人登录。添加这两个字段值到新表。删除旧的从AuthSession如果相同的用户名在它。然后你可以做正常的表数据列表在管理面板中,因为你为常规表。无论你想做哪个会话Force logout你已经有了它的会话密钥。从表from django.contrib.sessions.models import Session中删除它,如Session.objects.filter(session_key=key).delete(),该用户将从他的设备注销。但你必须使用stronght中间件来保持你的应用程序登录要求所有的时间
AuthSession
username
session_key
Force logout
from django.contrib.sessions.models import Session
Session.objects.filter(session_key=key).delete()
1条答案
按热度按时间bweufnob1#
你可以这样做。也许有一个更好的方法。创建一个表假设
AuthSession
来存储会话数据。字段username
和session_key
。每当有人登录。添加这两个字段值到新表。删除旧的从AuthSession
如果相同的用户名在它。然后你可以做正常的表数据列表在管理面板中,因为你为常规表。无论你想做哪个会话Force logout
你已经有了它的会话密钥。从表from django.contrib.sessions.models import Session
中删除它,如Session.objects.filter(session_key=key).delete()
,该用户将从他的设备注销。但你必须使用stronght中间件来保持你的应用程序登录要求所有的时间