mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-19 01:45:27 +00:00
服务账号注册机制更改 (#2079)
* [Update] 服务账号注册 * [Update] 修改settings配置 * [Update] 修改settings * [Update] 整理terminal api * [Update] 修改terminal api * [Update] 修改terminal注册机制
This commit is contained in:
@@ -17,8 +17,8 @@ from orgs.mixins import RootOrgViewMixin
|
||||
from ..serializers import UserSerializer
|
||||
from ..tasks import write_login_log_async
|
||||
from ..models import User, LoginLog
|
||||
from ..utils import check_user_valid, generate_token, \
|
||||
check_otp_code, increase_login_failed_count, is_block_login, \
|
||||
from ..utils import check_user_valid, check_otp_code, \
|
||||
increase_login_failed_count, is_block_login, \
|
||||
clean_failed_count
|
||||
from ..hands import Asset, SystemUser
|
||||
|
||||
@@ -79,7 +79,7 @@ class UserAuthApi(RootOrgViewMixin, APIView):
|
||||
self.write_login_log(request, data)
|
||||
# 登陆成功,清除原来的缓存计数
|
||||
clean_failed_count(username, ip)
|
||||
token = generate_token(request, user)
|
||||
token = user.create_bearer_token(request)
|
||||
return Response(
|
||||
{'token': token, 'user': self.serializer_class(user).data}
|
||||
)
|
||||
@@ -123,7 +123,6 @@ class UserAuthApi(RootOrgViewMixin, APIView):
|
||||
'user_agent': user_agent,
|
||||
}
|
||||
data.update(tmp_data)
|
||||
|
||||
write_login_log_async.delay(**data)
|
||||
|
||||
|
||||
@@ -185,7 +184,7 @@ class UserToken(APIView):
|
||||
user = request.user
|
||||
msg = None
|
||||
if user:
|
||||
token = generate_token(request, user)
|
||||
token = user.create_bearer_token(request)
|
||||
return Response({'Token': token, 'Keyword': 'Bearer'}, status=200)
|
||||
else:
|
||||
return Response({'error': msg}, status=406)
|
||||
@@ -223,7 +222,7 @@ class UserOtpAuthApi(RootOrgViewMixin, APIView):
|
||||
'status': True
|
||||
}
|
||||
self.write_login_log(request, data)
|
||||
token = generate_token(request, user)
|
||||
token = user.create_bearer_token(request)
|
||||
return Response(
|
||||
{
|
||||
'token': token,
|
||||
|
@@ -11,13 +11,14 @@ from rest_framework.permissions import IsAuthenticated
|
||||
from rest_framework_bulk import BulkModelViewSet
|
||||
from rest_framework.pagination import LimitOffsetPagination
|
||||
|
||||
from common.permissions import IsOrgAdmin, IsCurrentUserOrReadOnly, \
|
||||
IsOrgAdminOrAppUser
|
||||
from common.mixins import IDInFilterMixin
|
||||
from common.utils import get_logger
|
||||
from orgs.utils import current_org
|
||||
from ..serializers import UserSerializer, UserPKUpdateSerializer, \
|
||||
UserUpdateGroupSerializer, ChangeUserPasswordSerializer
|
||||
from ..models import User
|
||||
from orgs.utils import current_org
|
||||
from common.permissions import IsOrgAdmin, IsCurrentUserOrReadOnly, IsOrgAdminOrAppUser
|
||||
from common.mixins import IDInFilterMixin
|
||||
from common.utils import get_logger
|
||||
|
||||
|
||||
logger = get_logger(__name__)
|
||||
@@ -31,15 +32,16 @@ __all__ = [
|
||||
class UserViewSet(IDInFilterMixin, BulkModelViewSet):
|
||||
filter_fields = ('username', 'email', 'name', 'id')
|
||||
search_fields = filter_fields
|
||||
queryset = User.objects.exclude(role="App")
|
||||
queryset = User.objects.all()
|
||||
serializer_class = UserSerializer
|
||||
permission_classes = (IsOrgAdmin,)
|
||||
pagination_class = LimitOffsetPagination
|
||||
|
||||
def get_queryset(self):
|
||||
queryset = super().get_queryset()
|
||||
org_users = current_org.get_org_users()
|
||||
queryset = queryset.filter(id__in=org_users)
|
||||
if current_org.is_real():
|
||||
org_users = current_org.get_org_users()
|
||||
queryset = queryset.filter(id__in=org_users)
|
||||
return queryset
|
||||
|
||||
def get_permissions(self):
|
||||
|
4
apps/users/api/v2/__init__.py
Normal file
4
apps/users/api/v2/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
|
||||
from .user import *
|
12
apps/users/api/v2/user.py
Normal file
12
apps/users/api/v2/user.py
Normal file
@@ -0,0 +1,12 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
#
|
||||
from rest_framework import viewsets
|
||||
|
||||
from common.permissions import WithBootstrapToken
|
||||
from ...serializers import v2 as serializers
|
||||
|
||||
|
||||
class ServiceAccountRegistrationViewSet(viewsets.ModelViewSet):
|
||||
serializer_class = serializers.ServiceAccountRegistrationSerializer
|
||||
permission_classes = (WithBootstrapToken,)
|
||||
http_method_names = ['post']
|
Reference in New Issue
Block a user