mirror of https://github.com/jumpserver/jumpserver
fix: 修改获取 rdp-file / client-url / smart-endpoint 时endpoint host后台处理为当前请求的host
parent
bdf59da0f6
commit
29656b1630
|
@ -91,11 +91,6 @@ class ConnectionTokenMixin:
|
||||||
"config": rdp_config
|
"config": rdp_config
|
||||||
}
|
}
|
||||||
|
|
||||||
def get_host(self, endpoint):
|
|
||||||
if not endpoint.host:
|
|
||||||
return self.request.get_host()
|
|
||||||
return endpoint.host
|
|
||||||
|
|
||||||
def get_rdp_file_info(self, token: ConnectionToken):
|
def get_rdp_file_info(self, token: ConnectionToken):
|
||||||
rdp_options = {
|
rdp_options = {
|
||||||
'full address:s': '',
|
'full address:s': '',
|
||||||
|
@ -145,9 +140,7 @@ class ConnectionTokenMixin:
|
||||||
endpoint = self.get_smart_endpoint(
|
endpoint = self.get_smart_endpoint(
|
||||||
protocol='rdp', asset=token.asset, application=token.application
|
protocol='rdp', asset=token.asset, application=token.application
|
||||||
)
|
)
|
||||||
# TODO 暂时获取一下host,后续优化
|
rdp_options['full address:s'] = f'{endpoint.host}:{endpoint.rdp_port}'
|
||||||
host = self.get_host(endpoint)
|
|
||||||
rdp_options['full address:s'] = f'{host}:{endpoint.rdp_port}'
|
|
||||||
|
|
||||||
# 设置用户名
|
# 设置用户名
|
||||||
rdp_options['username:s'] = '{}|{}'.format(token.user.username, str(token.id))
|
rdp_options['username:s'] = '{}|{}'.format(token.user.username, str(token.id))
|
||||||
|
@ -199,10 +192,8 @@ class ConnectionTokenMixin:
|
||||||
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
|
||||||
)
|
)
|
||||||
# TODO 暂时获取一下host,后续优化
|
|
||||||
host = self.get_host(endpoint)
|
|
||||||
data = {
|
data = {
|
||||||
'ip': host,
|
'ip': endpoint.host,
|
||||||
'port': str(endpoint.ssh_port),
|
'port': str(endpoint.ssh_port),
|
||||||
'username': 'JMS-{}'.format(str(token.id)),
|
'username': 'JMS-{}'.format(str(token.id)),
|
||||||
'password': token.secret
|
'password': token.secret
|
||||||
|
|
|
@ -63,8 +63,6 @@ class Endpoint(JMSModel):
|
||||||
'http_port': 0,
|
'http_port': 0,
|
||||||
}
|
}
|
||||||
endpoint, created = cls.objects.get_or_create(id=cls.default_id, defaults=data)
|
endpoint, created = cls.objects.get_or_create(id=cls.default_id, defaults=data)
|
||||||
if not endpoint.host and request:
|
|
||||||
endpoint.host = request.get_host().split(':')[0]
|
|
||||||
return endpoint
|
return endpoint
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
@ -122,4 +120,7 @@ class EndpointRule(JMSModel):
|
||||||
endpoint = endpoint_rule.endpoint
|
endpoint = endpoint_rule.endpoint
|
||||||
else:
|
else:
|
||||||
endpoint = Endpoint.get_or_create_default(request)
|
endpoint = Endpoint.get_or_create_default(request)
|
||||||
|
if not endpoint.host and request:
|
||||||
|
# 动态添加 current request host
|
||||||
|
endpoint.host = request.get_host().split(':')[0]
|
||||||
return endpoint
|
return endpoint
|
||||||
|
|
Loading…
Reference in New Issue