[Update] 登录日志逻辑修改变量名

pull/1503/head
BaiJiangJie 2018-07-04 10:57:37 +08:00
parent 2eda58eadd
commit 43370c547a
2 changed files with 32 additions and 32 deletions

View File

@ -150,23 +150,23 @@ class UserOtpAuthApi(APIView):
if not check_otp_code(user.otp_secret_key, otp_code): if not check_otp_code(user.otp_secret_key, otp_code):
# Write login failed log # Write login failed log
kwargs = { data = {
'username': user.username, 'username': user.username,
'mfa': int(user.otp_enabled), 'mfa': int(user.otp_enabled),
'reason': LoginLog.REASON_MFA, 'reason': LoginLog.REASON_MFA,
'status': False 'status': False
} }
self.write_login_log(request, **kwargs) self.write_login_log(request, data)
return Response({'msg': 'MFA认证失败'}, status=401) return Response({'msg': 'MFA认证失败'}, status=401)
# Write login success log # Write login success log
kwargs = { data = {
'username': user.username, 'username': user.username,
'mfa': int(user.otp_enabled), 'mfa': int(user.otp_enabled),
'reason': LoginLog.REASON_NOTHING, 'reason': LoginLog.REASON_NOTHING,
'status': True 'status': True
} }
self.write_login_log(request, **kwargs) self.write_login_log(request, data)
token = generate_token(request, user) token = generate_token(request, user)
return Response( return Response(
{ {
@ -176,7 +176,7 @@ class UserOtpAuthApi(APIView):
) )
@staticmethod @staticmethod
def write_login_log(request, **kwargs): def write_login_log(request, data):
login_ip = request.data.get('remote_addr', None) login_ip = request.data.get('remote_addr', None)
login_type = request.data.get('login_type', '') login_type = request.data.get('login_type', '')
user_agent = request.data.get('HTTP_USER_AGENT', '') user_agent = request.data.get('HTTP_USER_AGENT', '')
@ -184,13 +184,13 @@ class UserOtpAuthApi(APIView):
if not login_ip: if not login_ip:
login_ip = get_login_ip(request) login_ip = get_login_ip(request)
data = { tmp_data = {
'ip': login_ip, 'ip': login_ip,
'type': login_type, 'type': login_type,
'user_agent': user_agent 'user_agent': user_agent
} }
kwargs.update(data) data.update(tmp_data)
write_login_log_async.delay(**kwargs) write_login_log_async.delay(**data)
class UserAuthApi(APIView): class UserAuthApi(APIView):
@ -202,24 +202,24 @@ class UserAuthApi(APIView):
if not user: if not user:
# Write login failed log # Write login failed log
kwargs = { data = {
'username': request.data.get('username', ''), 'username': request.data.get('username', ''),
'mfa': LoginLog.MFA_UNKNOWN, 'mfa': LoginLog.MFA_UNKNOWN,
'reason': LoginLog.REASON_PASSWORD, 'reason': LoginLog.REASON_PASSWORD,
'status': False 'status': False
} }
self.write_login_log(request, **kwargs) self.write_login_log(request, data)
return Response({'msg': msg}, status=401) return Response({'msg': msg}, status=401)
if not user.otp_enabled: if not user.otp_enabled:
# Write login success log # Write login success log
kwargs = { data = {
'username': user.username, 'username': user.username,
'mfa': int(user.otp_enabled), 'mfa': int(user.otp_enabled),
'reason': LoginLog.REASON_NOTHING, 'reason': LoginLog.REASON_NOTHING,
'status': True 'status': True
} }
self.write_login_log(request, **kwargs) self.write_login_log(request, data)
token = generate_token(request, user) token = generate_token(request, user)
return Response( return Response(
{ {
@ -252,7 +252,7 @@ class UserAuthApi(APIView):
return user, msg return user, msg
@staticmethod @staticmethod
def write_login_log(request, **kwargs): def write_login_log(request, data):
login_ip = request.data.get('remote_addr', None) login_ip = request.data.get('remote_addr', None)
login_type = request.data.get('login_type', '') login_type = request.data.get('login_type', '')
user_agent = request.data.get('HTTP_USER_AGENT', '') user_agent = request.data.get('HTTP_USER_AGENT', '')
@ -260,14 +260,14 @@ class UserAuthApi(APIView):
if not login_ip: if not login_ip:
login_ip = get_login_ip(request) login_ip = get_login_ip(request)
data = { tmp_data = {
'ip': login_ip, 'ip': login_ip,
'type': login_type, 'type': login_type,
'user_agent': user_agent, 'user_agent': user_agent,
} }
kwargs.update(data) data.update(tmp_data)
write_login_log_async.delay(**kwargs) write_login_log_async.delay(**data)
class UserConnectionTokenApi(APIView): class UserConnectionTokenApi(APIView):

View File

@ -67,13 +67,13 @@ class UserLoginView(FormView):
def form_invalid(self, form): def form_invalid(self, form):
# Write login failed log # Write login failed log
kwargs = { data = {
'username': form.cleaned_data.get('username'), 'username': form.cleaned_data.get('username'),
'mfa': LoginLog.MFA_UNKNOWN, 'mfa': LoginLog.MFA_UNKNOWN,
'reason': LoginLog.REASON_PASSWORD, 'reason': LoginLog.REASON_PASSWORD,
'status': False 'status': False
} }
self.write_login_log(**kwargs) self.write_login_log(data)
ip = get_login_ip(self.request) ip = get_login_ip(self.request)
cache.set(self.key_prefix.format(ip), 1, 3600) cache.set(self.key_prefix.format(ip), 1, 3600)
@ -102,13 +102,13 @@ class UserLoginView(FormView):
# 0 & T,F # 0 & T,F
auth_login(self.request, user) auth_login(self.request, user)
# Write login success log # Write login success log
kwargs = { data = {
'username': self.request.user.username, 'username': self.request.user.username,
'mfa': int(self.request.user.otp_enabled), 'mfa': int(self.request.user.otp_enabled),
'reason': LoginLog.REASON_NOTHING, 'reason': LoginLog.REASON_NOTHING,
'status': True 'status': True
} }
self.write_login_log(**kwargs) self.write_login_log(data)
return redirect_user_first_login_or_index(self.request, self.redirect_field_name) return redirect_user_first_login_or_index(self.request, self.redirect_field_name)
def get_context_data(self, **kwargs): def get_context_data(self, **kwargs):
@ -118,16 +118,16 @@ class UserLoginView(FormView):
kwargs.update(context) kwargs.update(context)
return super().get_context_data(**kwargs) return super().get_context_data(**kwargs)
def write_login_log(self, **kwargs): def write_login_log(self, data):
login_ip = get_login_ip(self.request) login_ip = get_login_ip(self.request)
user_agent = self.request.META.get('HTTP_USER_AGENT', '') user_agent = self.request.META.get('HTTP_USER_AGENT', '')
data = { tmp_data = {
'ip': login_ip, 'ip': login_ip,
'type': 'W', 'type': 'W',
'user_agent': user_agent 'user_agent': user_agent
} }
kwargs.update(data) data.update(tmp_data)
write_login_log_async.delay(**kwargs) write_login_log_async.delay(**data)
class UserLoginOtpView(FormView): class UserLoginOtpView(FormView):
@ -143,39 +143,39 @@ class UserLoginOtpView(FormView):
if check_otp_code(otp_secret_key, otp_code): if check_otp_code(otp_secret_key, otp_code):
auth_login(self.request, user) auth_login(self.request, user)
# Write login success log # Write login success log
kwargs = { data = {
'username': self.request.user.username, 'username': self.request.user.username,
'mfa': int(self.request.user.otp_enabled), 'mfa': int(self.request.user.otp_enabled),
'reason': LoginLog.REASON_NOTHING, 'reason': LoginLog.REASON_NOTHING,
'status': True 'status': True
} }
self.write_login_log(**kwargs) self.write_login_log(data)
return redirect(self.get_success_url()) return redirect(self.get_success_url())
else: else:
# Write login failed log # Write login failed log
kwargs = { data = {
'username': user.username, 'username': user.username,
'mfa': int(user.otp_enabled), 'mfa': int(user.otp_enabled),
'reason': LoginLog.REASON_MFA, 'reason': LoginLog.REASON_MFA,
'status': False 'status': False
} }
self.write_login_log(**kwargs) self.write_login_log(data)
form.add_error('otp_code', _('MFA code invalid')) form.add_error('otp_code', _('MFA code invalid'))
return super().form_invalid(form) return super().form_invalid(form)
def get_success_url(self): def get_success_url(self):
return redirect_user_first_login_or_index(self.request, self.redirect_field_name) return redirect_user_first_login_or_index(self.request, self.redirect_field_name)
def write_login_log(self, **kwargs): def write_login_log(self, data):
login_ip = get_login_ip(self.request) login_ip = get_login_ip(self.request)
user_agent = self.request.META.get('HTTP_USER_AGENT', '') user_agent = self.request.META.get('HTTP_USER_AGENT', '')
data = { tmp_data = {
'ip': login_ip, 'ip': login_ip,
'type': 'W', 'type': 'W',
'user_agent': user_agent 'user_agent': user_agent
} }
kwargs.update(data) data.update(tmp_data)
write_login_log_async.delay(**kwargs) write_login_log_async.delay(**data)
@method_decorator(never_cache, name='dispatch') @method_decorator(never_cache, name='dispatch')