Merge pull request #11093 from jumpserver/pr@dev@fix_user_account

fix: 修复同名账号用户名代填问题
pull/11106/head
老广 2023-07-26 19:16:45 +08:00 committed by GitHub
commit 1b338a9cd3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 4 deletions

View File

@ -306,9 +306,6 @@ class ConnectionTokenViewSet(ExtraActionApiMixin, RootOrgViewMixin, JMSModelView
if account.username != AliasAccount.INPUT: if account.username != AliasAccount.INPUT:
data['input_username'] = '' data['input_username'] = ''
elif account.username == AliasAccount.USER:
data['input_username'] = user.username
ticket = self._validate_acl(user, asset, account) ticket = self._validate_acl(user, asset, account)
if ticket: if ticket:
data['from_ticket'] = ticket data['from_ticket'] = ticket

View File

@ -225,9 +225,20 @@ class ConnectionToken(JMSOrgBaseModel):
account.asset = self.asset account.asset = self.asset
account.org_id = self.asset.org_id account.org_id = self.asset.org_id
if self.account in [AliasAccount.INPUT, AliasAccount.USER]: # 手动账号
if self.account == AliasAccount.INPUT:
account.username = self.input_username account.username = self.input_username
account.secret = self.input_secret account.secret = self.input_secret
# 同名账号
elif self.account == AliasAccount.USER:
account.username = self.user.username
account.secret = self.input_secret
# 匿名账号
elif self.account == AliasAccount.ANON:
account.username = ''
account.secret = ''
else: else:
account = self.asset.accounts.filter(name=self.account).first() account = self.asset.accounts.filter(name=self.account).first()
if not account.secret and self.input_secret: if not account.secret and self.input_secret: