mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-15 14:58:42 +00:00
perf: 优化一些 rbac 权限位,着重 connection token 的
This commit is contained in:
@@ -54,10 +54,11 @@ class ConnectionToken(JMSOrgBaseModel):
|
||||
|
||||
class Meta:
|
||||
ordering = ('-date_expired',)
|
||||
verbose_name = _('Connection token')
|
||||
permissions = [
|
||||
('view_connectiontokensecret', _('Can view connection token secret'))
|
||||
('expire_connectiontoken', _('Can expire connection token')),
|
||||
('reuse_connectiontoken', _('Can reuse connection token')),
|
||||
]
|
||||
verbose_name = _('Connection token')
|
||||
|
||||
@property
|
||||
def is_expired(self):
|
||||
@@ -80,6 +81,15 @@ class ConnectionToken(JMSOrgBaseModel):
|
||||
self.date_expired = timezone.now()
|
||||
self.save(update_fields=['date_expired'])
|
||||
|
||||
def set_reusable(self, is_reusable):
|
||||
self.is_reusable = is_reusable
|
||||
if self.is_reusable:
|
||||
seconds = settings.CONNECTION_TOKEN_REUSABLE_EXPIRATION
|
||||
else:
|
||||
seconds = settings.CONNECTION_TOKEN_ONETIME_EXPIRATION
|
||||
self.date_expired = timezone.now() + timedelta(seconds=seconds)
|
||||
self.save(update_fields=['is_reusable', 'date_expired'])
|
||||
|
||||
def renewal(self):
|
||||
""" 续期 Token,将来支持用户自定义创建 token 后,续期策略要修改 """
|
||||
self.date_expired = date_expired_default()
|
||||
@@ -255,4 +265,7 @@ class ConnectionToken(JMSOrgBaseModel):
|
||||
class SuperConnectionToken(ConnectionToken):
|
||||
class Meta:
|
||||
proxy = True
|
||||
permissions = [
|
||||
('view_superconnectiontokensecret', _('Can view super connection token secret'))
|
||||
]
|
||||
verbose_name = _("Super connection token")
|
||||
|
Reference in New Issue
Block a user