mirror of https://github.com/jumpserver/jumpserver
perf: 连接时支持连接参数
parent
a341b55f43
commit
c6f92a462f
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 3.2.17 on 2023-06-05 07:28
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('authentication', '0019_connectiontoken_is_reusable'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='connectiontoken',
|
||||||
|
name='connect_options',
|
||||||
|
field=models.JSONField(default=dict, verbose_name='Connect options'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -38,6 +38,7 @@ class ConnectionToken(JMSOrgBaseModel):
|
||||||
input_secret = EncryptTextField(max_length=64, default='', blank=True, verbose_name=_("Input secret"))
|
input_secret = EncryptTextField(max_length=64, default='', blank=True, verbose_name=_("Input secret"))
|
||||||
protocol = models.CharField(max_length=16, default=Protocol.ssh, verbose_name=_("Protocol"))
|
protocol = models.CharField(max_length=16, default=Protocol.ssh, verbose_name=_("Protocol"))
|
||||||
connect_method = models.CharField(max_length=32, verbose_name=_("Connect method"))
|
connect_method = models.CharField(max_length=32, verbose_name=_("Connect method"))
|
||||||
|
connect_options = models.JSONField(default=dict, verbose_name=_("Connect options"))
|
||||||
user_display = models.CharField(max_length=128, default='', verbose_name=_("User display"))
|
user_display = models.CharField(max_length=128, default='', verbose_name=_("User display"))
|
||||||
asset_display = models.CharField(max_length=128, default='', verbose_name=_("Asset display"))
|
asset_display = models.CharField(max_length=128, default='', verbose_name=_("Asset display"))
|
||||||
is_reusable = models.BooleanField(default=False, verbose_name=_("Reusable"))
|
is_reusable = models.BooleanField(default=False, verbose_name=_("Reusable"))
|
||||||
|
|
|
@ -134,6 +134,7 @@ class ConnectionTokenSecretSerializer(OrgResourceModelSerializerMixin):
|
||||||
command_filter_acls = _ConnectionTokenCommandFilterACLSerializer(read_only=True, many=True)
|
command_filter_acls = _ConnectionTokenCommandFilterACLSerializer(read_only=True, many=True)
|
||||||
expire_now = serializers.BooleanField(label=_('Expired now'), write_only=True, default=True)
|
expire_now = serializers.BooleanField(label=_('Expired now'), write_only=True, default=True)
|
||||||
connect_method = _ConnectTokenConnectMethodSerializer(read_only=True, source='connect_method_object')
|
connect_method = _ConnectTokenConnectMethodSerializer(read_only=True, source='connect_method_object')
|
||||||
|
connect_options = serializers.JSONField(read_only=True)
|
||||||
actions = ActionChoicesField()
|
actions = ActionChoicesField()
|
||||||
expire_at = serializers.IntegerField()
|
expire_at = serializers.IntegerField()
|
||||||
|
|
||||||
|
@ -144,6 +145,7 @@ class ConnectionTokenSecretSerializer(OrgResourceModelSerializerMixin):
|
||||||
'platform', 'command_filter_acls', 'protocol',
|
'platform', 'command_filter_acls', 'protocol',
|
||||||
'domain', 'gateway', 'actions', 'expire_at',
|
'domain', 'gateway', 'actions', 'expire_at',
|
||||||
'from_ticket', 'expire_now', 'connect_method',
|
'from_ticket', 'expire_now', 'connect_method',
|
||||||
|
'connect_options',
|
||||||
]
|
]
|
||||||
extra_kwargs = {
|
extra_kwargs = {
|
||||||
'value': {'read_only': True},
|
'value': {'read_only': True},
|
||||||
|
|
|
@ -26,8 +26,8 @@ class ConnectionTokenSerializer(OrgResourceModelSerializerMixin):
|
||||||
model = ConnectionToken
|
model = ConnectionToken
|
||||||
fields_mini = ['id', 'value']
|
fields_mini = ['id', 'value']
|
||||||
fields_small = fields_mini + [
|
fields_small = fields_mini + [
|
||||||
'user', 'asset', 'account', 'input_username',
|
'user', 'asset', 'account', 'input_username', 'input_secret',
|
||||||
'input_secret', 'connect_method', 'protocol', 'actions',
|
'connect_method', 'connect_options', 'protocol', 'actions',
|
||||||
'is_active', 'is_reusable', 'from_ticket', 'from_ticket_info',
|
'is_active', 'is_reusable', 'from_ticket', 'from_ticket_info',
|
||||||
'date_expired', 'date_created', 'date_updated', 'created_by',
|
'date_expired', 'date_created', 'date_updated', 'created_by',
|
||||||
'updated_by', 'org_id', 'org_name',
|
'updated_by', 'org_id', 'org_name',
|
||||||
|
|
Loading…
Reference in New Issue