mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-10-22 08:19:04 +00:00
perf: 修改系统用户
This commit is contained in:
@@ -62,20 +62,19 @@ class ValidateUserApplicationPermissionApi(APIView):
|
||||
def get(self, request, *args, **kwargs):
|
||||
user_id = request.query_params.get('user_id', '')
|
||||
application_id = request.query_params.get('application_id', '')
|
||||
system_user_id = request.query_params.get('system_user_id', '')
|
||||
account = system_user_id = request.query_params.get('account', '')
|
||||
|
||||
data = {
|
||||
'has_permission': False,
|
||||
'expire_at': int(time.time()),
|
||||
'actions': []
|
||||
}
|
||||
if not all((user_id, application_id, system_user_id)):
|
||||
if not all((user_id, application_id, account)):
|
||||
return Response(data)
|
||||
|
||||
user = User.objects.get(id=user_id)
|
||||
application = Application.objects.get(id=application_id)
|
||||
system_user = SystemUser.objects.get(id=system_user_id)
|
||||
has_perm, actions, expire_at = validate_permission(user, application, system_user)
|
||||
has_perm, actions, expire_at = validate_permission(user, application, account)
|
||||
status_code = status.HTTP_200_OK if has_perm else status.HTTP_403_FORBIDDEN
|
||||
data = {
|
||||
'has_permission': has_perm,
|
||||
|
@@ -1,8 +1,7 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
from rest_framework import generics
|
||||
from django.db.models import F, Value
|
||||
from django.db.models.functions import Concat
|
||||
from django.db.models import F
|
||||
from django.shortcuts import get_object_or_404
|
||||
|
||||
from orgs.mixins.api import OrgRelationMixin
|
||||
@@ -15,8 +14,7 @@ from perms.utils.asset.user_permission import UserGrantedAssetsQueryUtils
|
||||
__all__ = [
|
||||
'AssetPermissionUserRelationViewSet', 'AssetPermissionUserGroupRelationViewSet',
|
||||
'AssetPermissionAssetRelationViewSet', 'AssetPermissionNodeRelationViewSet',
|
||||
'AssetPermissionSystemUserRelationViewSet', 'AssetPermissionAllAssetListApi',
|
||||
'AssetPermissionAllUserListApi',
|
||||
'AssetPermissionAllAssetListApi', 'AssetPermissionAllUserListApi',
|
||||
]
|
||||
|
||||
|
||||
@@ -117,21 +115,3 @@ class AssetPermissionNodeRelationViewSet(RelationMixin):
|
||||
.annotate(node_key=F('node__key'))
|
||||
return queryset
|
||||
|
||||
|
||||
class AssetPermissionSystemUserRelationViewSet(RelationMixin):
|
||||
serializer_class = serializers.AssetPermissionSystemUserRelationSerializer
|
||||
m2m_field = models.AssetPermission.system_users.field
|
||||
filterset_fields = [
|
||||
'id', 'systemuser', 'assetpermission',
|
||||
]
|
||||
search_fields = [
|
||||
"assetpermission__name", "systemuser__name", "systemuser__username"
|
||||
]
|
||||
|
||||
def get_queryset(self):
|
||||
queryset = super().get_queryset()
|
||||
queryset = queryset.annotate(
|
||||
systemuser_display=Concat(
|
||||
F('systemuser__name'), Value('('), F('systemuser__username'), Value(')')
|
||||
))
|
||||
return queryset
|
||||
|
Reference in New Issue
Block a user