[Update] 取消系统用户-清除认证信息,取消-网关rdp协议认证信息,添加用户unblock功能

This commit is contained in:
BaiJiangJie
2018-07-13 19:30:48 +08:00
parent 01185a2d07
commit 1182313c1a
8 changed files with 133 additions and 58 deletions

View File

@@ -95,6 +95,19 @@ class UserUpdatePKApi(generics.UpdateAPIView):
user.save()
class UserUnblockPKApi(generics.UpdateAPIView):
queryset = User.objects.all()
permission_classes = (IsSuperUser,)
serializer_class = UserSerializer
key_prefix_limit = "_LOGIN_LIMIT_{}_{}"
def perform_update(self, serializer):
user = self.get_object()
username = user.username if user else ''
key_limit = self.key_prefix_limit.format(username, '*')
cache.delete_pattern(key_limit)
class UserGroupViewSet(IDInFilterMixin, BulkModelViewSet):
queryset = UserGroup.objects.all()
serializer_class = UserGroupSerializer
@@ -203,7 +216,7 @@ class UserAuthApi(APIView):
username = request.data.get('username')
ip = request.data.get('remote_addr', None)
ip = ip if ip else get_login_ip(request)
key_limit = self.key_prefix_limit.format(ip, username)
key_limit = self.key_prefix_limit.format(username, ip)
if is_block_login(key_limit):
msg = _("Log in frequently and try again later")
return Response({'msg': msg}, status=401)