mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-01 07:27:35 +00:00
perf: 优化rdp文件名的显示
This commit is contained in:
@@ -22,7 +22,6 @@ from ..serializers import (
|
|||||||
)
|
)
|
||||||
from ..models import ConnectionToken
|
from ..models import ConnectionToken
|
||||||
|
|
||||||
|
|
||||||
__all__ = ['ConnectionTokenViewSet', 'SuperConnectionTokenViewSet']
|
__all__ = ['ConnectionTokenViewSet', 'SuperConnectionTokenViewSet']
|
||||||
|
|
||||||
|
|
||||||
@@ -174,9 +173,8 @@ class ConnectionTokenMixin:
|
|||||||
rdp_options['remoteapplicationname:s'] = name
|
rdp_options['remoteapplicationname:s'] = name
|
||||||
else:
|
else:
|
||||||
name = '*'
|
name = '*'
|
||||||
|
prefix_name = f'{token.user.username}-{name}'
|
||||||
filename = "{}-{}-jumpserver".format(token.user.username, name)
|
filename = self.get_connect_filename(prefix_name)
|
||||||
filename = urllib.parse.quote(filename)
|
|
||||||
|
|
||||||
content = ''
|
content = ''
|
||||||
for k, v in rdp_options.items():
|
for k, v in rdp_options.items():
|
||||||
@@ -184,6 +182,15 @@ class ConnectionTokenMixin:
|
|||||||
|
|
||||||
return filename, content
|
return filename, content
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_connect_filename(prefix_name):
|
||||||
|
prefix_name = prefix_name.replace('/', '_')
|
||||||
|
prefix_name = prefix_name.replace('\\', '_')
|
||||||
|
prefix_name = prefix_name.replace('.', '_')
|
||||||
|
filename = f'{prefix_name}-jumpserver'
|
||||||
|
filename = urllib.parse.quote(filename)
|
||||||
|
return filename
|
||||||
|
|
||||||
def get_ssh_token(self, token: ConnectionToken):
|
def get_ssh_token(self, token: ConnectionToken):
|
||||||
if token.asset:
|
if token.asset:
|
||||||
name = token.asset.hostname
|
name = token.asset.hostname
|
||||||
@@ -191,7 +198,8 @@ class ConnectionTokenMixin:
|
|||||||
name = token.application.name
|
name = token.application.name
|
||||||
else:
|
else:
|
||||||
name = '*'
|
name = '*'
|
||||||
filename = f'{token.user.username}-{name}-jumpserver'
|
prefix_name = f'{token.user.username}-{name}'
|
||||||
|
filename = self.get_connect_filename(prefix_name)
|
||||||
|
|
||||||
endpoint = self.get_smart_endpoint(
|
endpoint = self.get_smart_endpoint(
|
||||||
protocol='ssh', asset=token.asset, application=token.application
|
protocol='ssh', asset=token.asset, application=token.application
|
||||||
@@ -326,4 +334,3 @@ class SuperConnectionTokenViewSet(ConnectionTokenViewSet):
|
|||||||
'msg': f'Token is renewed, date expired: {date_expired}'
|
'msg': f'Token is renewed, date expired: {date_expired}'
|
||||||
}
|
}
|
||||||
return Response(data=data, status=status.HTTP_200_OK)
|
return Response(data=data, status=status.HTTP_200_OK)
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user