登录日志后端加会话标识

pull/2/head
李强 2021-03-16 23:26:16 +08:00
parent e8bef583a9
commit e697208fe2
2 changed files with 4 additions and 2 deletions

View File

@ -4,6 +4,7 @@ from ...op_drf.models import CoreModel
class LoginInfor(CoreModel):
session_id = CharField(max_length=64, verbose_name="会话标识", null=True, blank=True)
browser = CharField(max_length=64, verbose_name="浏览器")
ipaddr = CharField(max_length=32, verbose_name="ip地址", null=True, blank=True)
loginLocation = CharField(max_length=64, verbose_name="登录位置", null=True, blank=True)

View File

@ -62,9 +62,10 @@ class LoginView(ObtainJSONWebToken):
else:
raise GenException(message='验证码错误')
def save_login_infor(self, request, msg='',status=True):
def save_login_infor(self, request, msg='',status=True,session_id=''):
User = get_user_model()
instance = LoginInfor()
instance.session_id = session_id
instance.browser = get_browser(request)
instance.ipaddr = get_request_ip(request)
instance.loginLocation = get_login_location(request)
@ -88,7 +89,7 @@ class LoginView(ObtainJSONWebToken):
session_id = jwt_get_session_id(token)
key = f"{self.prefix}_{session_id}_{username}"
cache.set(key, token, self.ex.total_seconds())
self.save_login_infor(request, '登录成功')
self.save_login_infor(request, '登录成功',session_id=session_id)
if self.JWT_AUTH_COOKIE and token:
expiration = (datetime.datetime.utcnow() + self.ex)
response.set_cookie(self.JWT_AUTH_COOKIE,