mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-08-31 23:20:37 +00:00
perf: 添加 check api 避免未认证
This commit is contained in:
@@ -9,9 +9,12 @@ __all__ = [
|
||||
'AccountsTaskCreateAPI',
|
||||
]
|
||||
|
||||
from rbac.permissions import RBACPermission
|
||||
|
||||
|
||||
class AccountsTaskCreateAPI(CreateAPIView):
|
||||
serializer_class = serializers.AccountTaskSerializer
|
||||
permission_classes = [RBACPermission]
|
||||
|
||||
def check_permissions(self, request):
|
||||
act = request.data.get('action')
|
||||
@@ -19,7 +22,9 @@ class AccountsTaskCreateAPI(CreateAPIView):
|
||||
code = 'accounts.push_account'
|
||||
else:
|
||||
code = 'accounts.verify_account'
|
||||
return request.user.has_perm(code)
|
||||
has = request.user.has_perm(code)
|
||||
if not has:
|
||||
self.permission_denied(request)
|
||||
|
||||
def perform_create(self, serializer):
|
||||
data = serializer.validated_data
|
||||
@@ -44,6 +49,6 @@ class AccountsTaskCreateAPI(CreateAPIView):
|
||||
|
||||
def get_exception_handler(self):
|
||||
def handler(e, context):
|
||||
return Response({"error": str(e)}, status=400)
|
||||
return Response({"error": str(e)}, status=401)
|
||||
|
||||
return handler
|
||||
|
Reference in New Issue
Block a user