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 collections import defaultdict
|
||||||
|
|
||||||
|
from django.utils import timezone
|
||||||
|
|
||||||
from accounts.const import AliasAccount
|
from accounts.const import AliasAccount
|
||||||
from accounts.models import VirtualAccount
|
from accounts.models import VirtualAccount
|
||||||
from assets.models import Asset, MyAsset
|
from assets.models import Asset, MyAsset
|
||||||
from common.utils import lazyproperty
|
from common.utils import lazyproperty
|
||||||
from orgs.utils import tmp_to_org, tmp_to_root_org
|
from orgs.utils import tmp_to_org, tmp_to_root_org
|
||||||
from .permission import AssetPermissionUtil
|
|
||||||
from perms.const import ActionChoices
|
from perms.const import ActionChoices
|
||||||
|
from .permission import AssetPermissionUtil
|
||||||
|
|
||||||
__all__ = ['PermAssetDetailUtil']
|
__all__ = ['PermAssetDetailUtil']
|
||||||
|
|
||||||
|
@ -40,6 +42,12 @@ class PermAssetDetailUtil:
|
||||||
|
|
||||||
def validate_permission(self, account_name, protocol):
|
def validate_permission(self, account_name, protocol):
|
||||||
with tmp_to_org(self.asset.org):
|
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)
|
protocols = self.get_permed_protocols_for_user(only_name=True)
|
||||||
if 'all' not in protocols and protocol not in protocols:
|
if 'all' not in protocols and protocol not in protocols:
|
||||||
return None
|
return None
|
||||||
|
|
Loading…
Reference in New Issue