mirror of https://github.com/jumpserver/jumpserver
perf: 优化内置系统用户角色权限
parent
f026b86a20
commit
5f370c1c04
|
@ -2,14 +2,14 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
from rest_framework.viewsets import ModelViewSet
|
from rest_framework.viewsets import ModelViewSet
|
||||||
|
|
||||||
from common.permissions import IsValidUser
|
|
||||||
from .. import serializers
|
from .. import serializers
|
||||||
|
from rbac.permissions import RBACPermission
|
||||||
|
|
||||||
|
|
||||||
class AccessKeyViewSet(ModelViewSet):
|
class AccessKeyViewSet(ModelViewSet):
|
||||||
serializer_class = serializers.AccessKeySerializer
|
serializer_class = serializers.AccessKeySerializer
|
||||||
search_fields = ['^id', '^secret']
|
search_fields = ['^id', '^secret']
|
||||||
|
permission_classes = [RBACPermission]
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
return self.request.user.access_keys.all()
|
return self.request.user.access_keys.all()
|
||||||
|
|
|
@ -3,15 +3,18 @@ from rest_framework.response import Response
|
||||||
from rest_framework.decorators import action
|
from rest_framework.decorators import action
|
||||||
|
|
||||||
from common.drf.api import JMSModelViewSet
|
from common.drf.api import JMSModelViewSet
|
||||||
from common.permissions import IsValidUser
|
|
||||||
from ..models import TempToken
|
from ..models import TempToken
|
||||||
from ..serializers import TempTokenSerializer
|
from ..serializers import TempTokenSerializer
|
||||||
|
from rbac.permissions import RBACPermission
|
||||||
|
|
||||||
|
|
||||||
class TempTokenViewSet(JMSModelViewSet):
|
class TempTokenViewSet(JMSModelViewSet):
|
||||||
serializer_class = TempTokenSerializer
|
serializer_class = TempTokenSerializer
|
||||||
permission_classes = [IsValidUser]
|
permission_classes = [RBACPermission]
|
||||||
http_method_names = ['post', 'get', 'options', 'patch']
|
http_method_names = ['post', 'get', 'options', 'patch']
|
||||||
|
rbac_perms = {
|
||||||
|
'expire': 'authentication.change_temptoken',
|
||||||
|
}
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
username = self.request.user.username
|
username = self.request.user.username
|
||||||
|
|
|
@ -42,7 +42,7 @@ class NoSpecialChars:
|
||||||
|
|
||||||
|
|
||||||
class PhoneValidator:
|
class PhoneValidator:
|
||||||
pattern = re.compile(r"^1[356789]\d{9}$")
|
pattern = re.compile(r"^1[3456789]\d{9}$")
|
||||||
message = _('The mobile phone number format is incorrect')
|
message = _('The mobile phone number format is incorrect')
|
||||||
|
|
||||||
def __call__(self, value):
|
def __call__(self, value):
|
||||||
|
|
|
@ -4,7 +4,8 @@ from .const import Scope, system_exclude_permissions, org_exclude_permissions
|
||||||
|
|
||||||
system_user_perms = (
|
system_user_perms = (
|
||||||
('authentication', 'connectiontoken', 'add', 'connectiontoken'),
|
('authentication', 'connectiontoken', 'add', 'connectiontoken'),
|
||||||
('authentication', 'temptoken', 'add', 'temptoken'),
|
('authentication', 'temptoken', 'add,change,view', 'temptoken'),
|
||||||
|
('authentication', 'accesskey', '*', '*'),
|
||||||
('tickets', 'ticket', 'view', 'ticket'),
|
('tickets', 'ticket', 'view', 'ticket'),
|
||||||
('orgs', 'organization', 'view', 'rootorg'),
|
('orgs', 'organization', 'view', 'rootorg'),
|
||||||
)
|
)
|
||||||
|
|
|
@ -25,6 +25,7 @@ exclude_permissions = (
|
||||||
('authentication', 'connectiontoken', 'change,delete', 'connectiontoken'),
|
('authentication', 'connectiontoken', 'change,delete', 'connectiontoken'),
|
||||||
('authentication', 'ssotoken', '*', '*'),
|
('authentication', 'ssotoken', '*', '*'),
|
||||||
('authentication', 'superconnectiontoken', 'change,delete', 'superconnectiontoken'),
|
('authentication', 'superconnectiontoken', 'change,delete', 'superconnectiontoken'),
|
||||||
|
('authentication', 'temptoken', 'delete', 'temptoken'),
|
||||||
('users', 'userpasswordhistory', '*', '*'),
|
('users', 'userpasswordhistory', '*', '*'),
|
||||||
('applications', 'applicationuser', '*', '*'),
|
('applications', 'applicationuser', '*', '*'),
|
||||||
('applications', 'historicalaccount', '*', '*'),
|
('applications', 'historicalaccount', '*', '*'),
|
||||||
|
|
Loading…
Reference in New Issue