From 7b8f932dcd791c268a29214a434d7c4a32f06e12 Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 18 Jan 2021 15:17:57 +0800 Subject: [PATCH] =?UTF-8?q?perf:=20=E5=8E=BB=E6=8E=89=E5=87=A0=E4=B8=AA?= =?UTF-8?q?=E4=B8=8D=E7=94=A8=E7=9A=84api?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/authentication/api/auth.py | 1 - apps/terminal/api/terminal.py | 39 +-------------------------------- apps/terminal/urls/api_urls.py | 2 -- 3 files changed, 1 insertion(+), 41 deletions(-) diff --git a/apps/authentication/api/auth.py b/apps/authentication/api/auth.py index 310aa3d4a..6886fa2f0 100644 --- a/apps/authentication/api/auth.py +++ b/apps/authentication/api/auth.py @@ -4,7 +4,6 @@ import uuid from django.core.cache import cache from django.shortcuts import get_object_or_404 -from rest_framework.permissions import AllowAny from rest_framework.response import Response from rest_framework.views import APIView diff --git a/apps/terminal/api/terminal.py b/apps/terminal/api/terminal.py index 14213316c..26b030ff8 100644 --- a/apps/terminal/api/terminal.py +++ b/apps/terminal/api/terminal.py @@ -1,6 +1,5 @@ # -*- coding: utf-8 -*- # -from collections import OrderedDict import logging import uuid @@ -8,7 +7,6 @@ from django.core.cache import cache from django.shortcuts import get_object_or_404 from rest_framework import viewsets from rest_framework.views import APIView, Response -from rest_framework.permissions import AllowAny from common.drf.api import JMSBulkModelViewSet from common.utils import get_object_or_none @@ -18,7 +16,7 @@ from .. import serializers from .. import exceptions __all__ = [ - 'TerminalViewSet', 'TerminalTokenApi', 'StatusViewSet', 'TerminalConfig', + 'TerminalViewSet', 'StatusViewSet', 'TerminalConfig', ] logger = logging.getLogger(__file__) @@ -69,41 +67,6 @@ class TerminalViewSet(JMSBulkModelViewSet): queryset = queryset.filter(id__in=filtered_queryset_id) return queryset - def get_permissions(self): - if self.action == "create": - self.permission_classes = (AllowAny,) - return super().get_permissions() - - -class TerminalTokenApi(APIView): - permission_classes = (AllowAny,) - queryset = Terminal.objects.filter(is_deleted=False) - - def get(self, request, *args, **kwargs): - try: - terminal = self.queryset.get(id=kwargs.get('terminal')) - except Terminal.DoesNotExist: - terminal = None - - token = request.query_params.get("token") - - if terminal is None: - return Response('May be reject by administrator', status=401) - - if token is None or cache.get(token, "") != str(terminal.id): - return Response('Token is not valid', status=401) - - if not terminal.is_accepted: - return Response("Terminal was not accepted yet", status=400) - - if not terminal.user or not terminal.user.access_key: - return Response("No access key generate", status=401) - - access_key = terminal.user.access_key() - data = OrderedDict() - data['access_key'] = {'id': access_key.id, 'secret': access_key.secret} - return Response(data, status=200) - class StatusViewSet(viewsets.ModelViewSet): queryset = Status.objects.all() diff --git a/apps/terminal/urls/api_urls.py b/apps/terminal/urls/api_urls.py index 5a8efe8e8..077494d01 100644 --- a/apps/terminal/urls/api_urls.py +++ b/apps/terminal/urls/api_urls.py @@ -27,8 +27,6 @@ urlpatterns = [ api.SessionReplayViewSet.as_view({'get': 'retrieve', 'post': 'create'}), name='session-replay'), path('tasks/kill-session/', api.KillSessionAPI.as_view(), name='kill-session'), - path('terminals//access-key/', api.TerminalTokenApi.as_view(), - name='terminal-access-key'), path('terminals/config/', api.TerminalConfig.as_view(), name='terminal-config'), path('commands/export/', api.CommandExportApi.as_view(), name="command-export"), path('commands/insecure-command/', api.InsecureCommandAlertAPI.as_view(), name="command-alert"),