perf: 优化MFA verify requierd

pull/6055/head
ibuler 2021-04-25 16:22:38 +08:00 committed by 老广
parent 4a9e83ba15
commit d1a005f750
3 changed files with 10 additions and 9 deletions

View File

@ -10,10 +10,10 @@ from common.permissions import IsOrgAdminOrAppUser, NeedMFAVerify
from common.utils import get_object_or_none, get_logger
from common.mixins import CommonApiMixin
from ..backends import AssetUserManager
from ..models import Asset, Node, SystemUser
from ..models import Node
from .. import serializers
from ..tasks import (
test_asset_users_connectivity_manual, push_system_user_a_asset_manual
test_asset_users_connectivity_manual
)
@ -100,12 +100,6 @@ class AssetUserViewSet(CommonApiMixin, BulkModelViewSet):
obj = queryset.get(id=pk)
return obj
def get_exception_handler(self):
def handler(e, context):
logger.error(e, exc_info=True)
return Response({"error": str(e)}, status=400)
return handler
def perform_destroy(self, instance):
manager = AssetUserManager()
manager.delete(instance)

View File

@ -39,3 +39,9 @@ class ReferencedByOthers(JMSException):
status_code = status.HTTP_400_BAD_REQUEST
default_code = 'referenced_by_others'
default_detail = _('Is referenced by other objects and cannot be deleted')
class MFAVerifyRequired(JMSException):
status_code = status.HTTP_400_BAD_REQUEST
default_code = 'mfa_verify_required'
default_detail = _('This action require verify your MFA')

View File

@ -3,6 +3,7 @@
import time
from rest_framework import permissions
from django.conf import settings
from common.exceptions import MFAVerifyRequired
from orgs.utils import current_org
@ -114,7 +115,7 @@ class NeedMFAVerify(permissions.BasePermission):
mfa_verify_time = request.session.get('MFA_VERIFY_TIME', 0)
if time.time() - mfa_verify_time < settings.SECURITY_MFA_VERIFY_TTL:
return True
return False
raise MFAVerifyRequired()
class CanUpdateDeleteUser(permissions.BasePermission):