fix: 修复客户端方式访问资产 Endpoint 标签匹配策略不生效的问题

pull/11022/head
Bai 2023-07-19 18:10:40 +08:00 committed by Bryan
parent 947c9e6216
commit 47195e2c44
1 changed files with 8 additions and 6 deletions

View File

@ -23,7 +23,7 @@ from common.utils.http import is_true, is_false
from orgs.mixins.api import RootOrgViewMixin from orgs.mixins.api import RootOrgViewMixin
from perms.models import ActionChoices from perms.models import ActionChoices
from terminal.connect_methods import NativeClient, ConnectMethodUtil from terminal.connect_methods import NativeClient, ConnectMethodUtil
from terminal.models import EndpointRule from terminal.models import EndpointRule, Endpoint
from ..models import ConnectionToken, date_expired_default from ..models import ConnectionToken, date_expired_default
from ..serializers import ( from ..serializers import (
ConnectionTokenSerializer, ConnectionTokenSecretSerializer, ConnectionTokenSerializer, ConnectionTokenSecretSerializer,
@ -166,11 +166,13 @@ class RDPFileClientProtocolURLMixin:
return data return data
def get_smart_endpoint(self, protocol, asset=None): def get_smart_endpoint(self, protocol, asset=None):
target_ip = asset.get_target_ip() if asset else '' endpoint = Endpoint.match_by_instance_label(asset, protocol)
endpoint = EndpointRule.match_endpoint( if not endpoint:
target_instance=asset, target_ip=target_ip, target_ip = asset.get_target_ip() if asset else ''
protocol=protocol, request=self.request endpoint = EndpointRule.match_endpoint(
) target_instance=asset, target_ip=target_ip,
protocol=protocol, request=self.request
)
return endpoint return endpoint