fix: xrdp 连接可以指定是否全屏

This commit is contained in:
xinwen
2021-08-03 10:57:57 +08:00
committed by 老广
parent 4085df913b
commit cf3df951a9

View File

@@ -22,6 +22,7 @@ from common.utils import get_logger, random_string
from common.drf.api import SerializerMixin from common.drf.api import SerializerMixin
from common.permissions import IsSuperUserOrAppUser, IsValidUser, IsSuperUser from common.permissions import IsSuperUserOrAppUser, IsValidUser, IsSuperUser
from orgs.mixins.api import RootOrgViewMixin from orgs.mixins.api import RootOrgViewMixin
from common.http import is_true
from ..serializers import ( from ..serializers import (
ConnectionTokenSerializer, ConnectionTokenSecretSerializer, ConnectionTokenSerializer, ConnectionTokenSecretSerializer,
@@ -50,7 +51,7 @@ class ClientProtocolMixin:
options = { options = {
'full address:s': '', 'full address:s': '',
'username:s': '', 'username:s': '',
'screen mode id:i': '1', # 'screen mode id:i': '1',
# 'desktopwidth:i': '1280', # 'desktopwidth:i': '1280',
# 'desktopheight:i': '800', # 'desktopheight:i': '800',
'use multimon:i': '0', 'use multimon:i': '0',
@@ -82,8 +83,10 @@ class ClientProtocolMixin:
asset, application, system_user, user = self.get_request_resource(serializer) asset, application, system_user, user = self.get_request_resource(serializer)
height = self.request.query_params.get('height') height = self.request.query_params.get('height')
width = self.request.query_params.get('width') width = self.request.query_params.get('width')
full_screen = is_true(self.request.query_params.get('full_screen'))
token = self.create_token(user, asset, application, system_user) token = self.create_token(user, asset, application, system_user)
options['screen mode id:i'] = '2' if full_screen else '1'
address = settings.TERMINAL_RDP_ADDR address = settings.TERMINAL_RDP_ADDR
if not address or address == 'localhost:3389': if not address or address == 'localhost:3389':
address = self.request.get_host().split(':')[0] + ':3389' address = self.request.get_host().split(':')[0] + ':3389'