mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-06-30 08:42:04 +00:00
[Update] 修改用户表结构
This commit is contained in:
parent
e08d542c87
commit
f10a7a75ae
@ -1,7 +1,7 @@
|
|||||||
# Generated by Django 2.1.7 on 2019-06-25 03:04
|
# Generated by Django 2.1.7 on 2019-06-25 03:04
|
||||||
|
|
||||||
import common.fields.model
|
import common.fields.model
|
||||||
from django.db import migrations
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
class Migration(migrations.Migration):
|
class Migration(migrations.Migration):
|
||||||
@ -19,11 +19,16 @@ class Migration(migrations.Migration):
|
|||||||
migrations.AlterField(
|
migrations.AlterField(
|
||||||
model_name='user',
|
model_name='user',
|
||||||
name='_private_key',
|
name='_private_key',
|
||||||
field=common.fields.model.EncryptTextField(blank=True, max_length=5000, verbose_name='Private key'),
|
field=common.fields.model.EncryptTextField(blank=True, null=True, verbose_name='Private key'),
|
||||||
),
|
),
|
||||||
migrations.AlterField(
|
migrations.AlterField(
|
||||||
model_name='user',
|
model_name='user',
|
||||||
name='_public_key',
|
name='_public_key',
|
||||||
field=common.fields.model.EncryptTextField(blank=True, max_length=5000, verbose_name='Public key'),
|
field=common.fields.model.EncryptTextField(blank=True, null=True, verbose_name='Public key'),
|
||||||
|
),
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='user',
|
||||||
|
name='comment',
|
||||||
|
field=models.TextField(blank=True, null=True, verbose_name='Comment'),
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
@ -88,13 +88,13 @@ class User(AbstractUser):
|
|||||||
otp_secret_key = fields.EncryptCharField(max_length=128, blank=True, null=True)
|
otp_secret_key = fields.EncryptCharField(max_length=128, blank=True, null=True)
|
||||||
# Todo: Auto generate key, let user download
|
# Todo: Auto generate key, let user download
|
||||||
private_key = fields.EncryptTextField(
|
private_key = fields.EncryptTextField(
|
||||||
max_length=5000, blank=True, verbose_name=_('Private key')
|
blank=True, null=True, verbose_name=_('Private key')
|
||||||
)
|
)
|
||||||
public_key = fields.EncryptTextField(
|
public_key = fields.EncryptTextField(
|
||||||
max_length=5000, blank=True, verbose_name=_('Public key')
|
blank=True, null=True, verbose_name=_('Public key')
|
||||||
)
|
)
|
||||||
comment = models.TextField(
|
comment = models.TextField(
|
||||||
max_length=200, blank=True, verbose_name=_('Comment')
|
blank=True, null=True, verbose_name=_('Comment')
|
||||||
)
|
)
|
||||||
is_first_login = models.BooleanField(default=True)
|
is_first_login = models.BooleanField(default=True)
|
||||||
date_expired = models.DateTimeField(
|
date_expired = models.DateTimeField(
|
||||||
@ -276,7 +276,6 @@ class User(AbstractUser):
|
|||||||
self.role = 'Admin'
|
self.role = 'Admin'
|
||||||
self.is_active = True
|
self.is_active = True
|
||||||
super().save(*args, **kwargs)
|
super().save(*args, **kwargs)
|
||||||
self.expire_user_cache()
|
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def private_token(self):
|
def private_token(self):
|
||||||
@ -425,26 +424,8 @@ class User(AbstractUser):
|
|||||||
def delete(self, using=None, keep_parents=False):
|
def delete(self, using=None, keep_parents=False):
|
||||||
if self.pk == 1 or self.username == 'admin':
|
if self.pk == 1 or self.username == 'admin':
|
||||||
return
|
return
|
||||||
self.expire_user_cache()
|
|
||||||
return super(User, self).delete()
|
return super(User, self).delete()
|
||||||
|
|
||||||
def expire_user_cache(self):
|
|
||||||
key = self.user_cache_key_prefix.format(self.id)
|
|
||||||
cache.delete(key)
|
|
||||||
|
|
||||||
@classmethod
|
|
||||||
def get_user_or_from_cache(cls, uid):
|
|
||||||
key = cls.user_cache_key_prefix.format(uid)
|
|
||||||
user = cache.get(key)
|
|
||||||
if user:
|
|
||||||
return user
|
|
||||||
try:
|
|
||||||
user = cls.objects.get(id=uid)
|
|
||||||
cache.set(key, user, 3600)
|
|
||||||
except cls.DoesNotExist:
|
|
||||||
user = None
|
|
||||||
return user
|
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
ordering = ['username']
|
ordering = ['username']
|
||||||
verbose_name = _("User")
|
verbose_name = _("User")
|
||||||
|
Loading…
Reference in New Issue
Block a user