mirror of https://github.com/jumpserver/jumpserver
perf: 修复随机 error
parent
31d2bdd3bb
commit
42337f0d00
|
@ -1,10 +1,9 @@
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
import struct
|
|
||||||
import random
|
import random
|
||||||
import socket
|
import socket
|
||||||
import string
|
import string
|
||||||
|
import struct
|
||||||
|
|
||||||
string_punctuation = '!#$%&()*+,-.:;<=>?@[]^_~'
|
string_punctuation = '!#$%&()*+,-.:;<=>?@[]^_~'
|
||||||
|
|
||||||
|
@ -19,6 +18,7 @@ def random_ip():
|
||||||
|
|
||||||
|
|
||||||
def random_string(length: int, lower=True, upper=True, digit=True, special_char=False):
|
def random_string(length: int, lower=True, upper=True, digit=True, special_char=False):
|
||||||
|
random.seed()
|
||||||
args_names = ['lower', 'upper', 'digit', 'special_char']
|
args_names = ['lower', 'upper', 'digit', 'special_char']
|
||||||
args_values = [lower, upper, digit, special_char]
|
args_values = [lower, upper, digit, special_char]
|
||||||
args_string = [string.ascii_lowercase, string.ascii_uppercase, string.digits, string_punctuation]
|
args_string = [string.ascii_lowercase, string.ascii_uppercase, string.digits, string_punctuation]
|
||||||
|
|
|
@ -1,30 +1,27 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
# -*- coding: utf-8 -*-
|
# -*- coding: utf-8 -*-
|
||||||
#
|
#
|
||||||
import uuid
|
|
||||||
import base64
|
import base64
|
||||||
import string
|
|
||||||
import random
|
|
||||||
import datetime
|
import datetime
|
||||||
|
import uuid
|
||||||
from typing import Callable
|
from typing import Callable
|
||||||
|
|
||||||
from django.db import models
|
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.utils import timezone
|
|
||||||
from django.core.cache import cache
|
|
||||||
from django.contrib.auth.models import AbstractUser
|
|
||||||
from django.contrib.auth.hashers import check_password
|
from django.contrib.auth.hashers import check_password
|
||||||
from django.utils.translation import ugettext_lazy as _
|
from django.contrib.auth.models import AbstractUser
|
||||||
|
from django.core.cache import cache
|
||||||
|
from django.db import models
|
||||||
from django.shortcuts import reverse
|
from django.shortcuts import reverse
|
||||||
|
from django.utils import timezone
|
||||||
from django.utils.module_loading import import_string
|
from django.utils.module_loading import import_string
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
from orgs.utils import current_org
|
|
||||||
from orgs.models import Organization
|
|
||||||
from rbac.const import Scope
|
|
||||||
from common.db import fields, models as jms_models
|
from common.db import fields, models as jms_models
|
||||||
from common.utils import (
|
from common.utils import (
|
||||||
date_expired_default, get_logger, lazyproperty, random_string, bulk_create_with_signal
|
date_expired_default, get_logger, lazyproperty, random_string, bulk_create_with_signal
|
||||||
)
|
)
|
||||||
|
from orgs.utils import current_org
|
||||||
|
from rbac.const import Scope
|
||||||
from ..signals import post_user_change_password, post_user_leave_org, pre_user_leave_org
|
from ..signals import post_user_change_password, post_user_leave_org, pre_user_leave_org
|
||||||
|
|
||||||
__all__ = ['User', 'UserPasswordHistory']
|
__all__ = ['User', 'UserPasswordHistory']
|
||||||
|
@ -518,8 +515,7 @@ class TokenMixin:
|
||||||
return self.access_keys.first()
|
return self.access_keys.first()
|
||||||
|
|
||||||
def generate_reset_token(self):
|
def generate_reset_token(self):
|
||||||
letter = string.ascii_letters + string.digits
|
token = random_string(50)
|
||||||
token = ''.join([random.choice(letter) for _ in range(50)])
|
|
||||||
self.set_cache(token)
|
self.set_cache(token)
|
||||||
return token
|
return token
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue