Esempio n. 1
0
 def post(self, request, *args, **kwargs):
     serializer = self.get_serializer(data=request.data)
     serializer.is_valid(raise_exception=True)
     header = request.META.get('HTTP_AUTHORIZATION')
     if isinstance(header, str):
         header = header.encode(HTTP_HEADER_ENCODING)
     try:
         tag, token = header.split()
         cache_token = Cache.get(serializer.data["username"])
         if cache_token is not None and str(
                 cache_token).strip() == token.decode().strip():
             Cache.delete(serializer.data["username"])
             try:
                 user_obj = User.objects.get(
                     username=serializer.data["username"])
                 models.Log(username=user_obj.username,
                            event=0,
                            content="注销登陆成功!").save()
             except User.DoesNotExist:
                 logs.print(
                     "error", "{user}不存在,无法记录注销日志".format(
                         user=serializer.data["username"]))
     except ValueError:
         pass
     except AttributeError:
         return Response(status=status.HTTP_400_BAD_REQUEST)
     return Response({
         "code": 200,
         "msg": "注销成功!"
     },
                     status=status.HTTP_200_OK)
Esempio n. 2
0
 def active(self, request, *args, **kwargs):
     try:
         username = request.data["username"]
         is_active = request.data["active"]
     except KeyError as key:
         return Response({
             "code": 801,
             "msg": "缺少:{key}参数1".format(key=key)
         })
     try:
         user_obj = User.objects.get(username=username)
         user_obj.is_active = is_active
         user_obj.save()
     except User.DoesNotExist:
         return Response({"code": 805, "msg": "用户不存在!"})
     if is_active:
         msg = "用户激活完成!"
     else:
         msg = "用户禁用完成!"
         Cache.delete(username)
     models.Log(username=str(request.user),
                event=3,
                content="{username}{msg}".format(username=username,
                                                 msg=msg)).save()
     return Response({"code": 200, "msg": msg})
Esempio n. 3
0
def cache_test():
    key = request.args.get("key")
    Cache.set(key,"val")
    Cache.set("name",key)
    name = Cache.get("name")
    Cache.delete("name")
    Cache.set("age",12)
    return jsonify({"name":name})
Esempio n. 4
0
 def change(self, request, *args, **kwargs):
     try:
         username = request.data["username"]
         password = request.data["password"]
     except KeyError as key:
         return Response({
             "code": 801,
             "msg": "缺少:{key}参数!".format(key=key)
         })
     if str(request.user) != username:
         return Response({"code": 204, "msg": "密码修改失败!"})
     try:
         user_obj = User.objects.get(username=username)
         user_obj.set_password(password)
         user_obj.save()
     except User.DoesNotExist:
         return Response({"code": 805, "msg": "用户不存在!"})
     Cache.delete(username)
     msg = "密码修改完成!"
     models.Log(username=str(request.user),
                event=3,
                content="{username}{msg}".format(username=username,
                                                 msg=msg)).save()
     return Response({"code": 200, "msg": "密码修改完成!"})
Esempio n. 5
0
 def post(self):
     try:
         Cache.delete(self.get_argument('exp'), exp=True)
         self.flash(1)
     except:
         self.flash(0)