mirror of https://github.com/jumpserver/jumpserver
perf: Admin connection token validate_permission account
parent
af85dba667
commit
1ac5de762d
|
@ -1,12 +1,14 @@
|
|||
from collections import defaultdict
|
||||
|
||||
from django.utils import timezone
|
||||
|
||||
from accounts.const import AliasAccount
|
||||
from accounts.models import VirtualAccount
|
||||
from assets.models import Asset, MyAsset
|
||||
from common.utils import lazyproperty
|
||||
from orgs.utils import tmp_to_org, tmp_to_root_org
|
||||
from .permission import AssetPermissionUtil
|
||||
from perms.const import ActionChoices
|
||||
from .permission import AssetPermissionUtil
|
||||
|
||||
__all__ = ['PermAssetDetailUtil']
|
||||
|
||||
|
@ -40,6 +42,12 @@ class PermAssetDetailUtil:
|
|||
|
||||
def validate_permission(self, account_name, protocol):
|
||||
with tmp_to_org(self.asset.org):
|
||||
if self.user.is_superuser:
|
||||
account = self.asset.accounts.all().active().get(name=account_name)
|
||||
account.actions = ActionChoices.all()
|
||||
account.date_expired = timezone.now() + timezone.timedelta(days=365)
|
||||
return account
|
||||
|
||||
protocols = self.get_permed_protocols_for_user(only_name=True)
|
||||
if 'all' not in protocols and protocol not in protocols:
|
||||
return None
|
||||
|
|
Loading…
Reference in New Issue