mirror of https://github.com/jumpserver/jumpserver
fix: setting field encrypt issue
parent
2ca4002624
commit
482319fadf
|
@ -10,7 +10,8 @@ from django.utils.translation import gettext_lazy as _
|
||||||
from rest_framework.utils.encoders import JSONEncoder
|
from rest_framework.utils.encoders import JSONEncoder
|
||||||
|
|
||||||
from common.db.models import JMSBaseModel
|
from common.db.models import JMSBaseModel
|
||||||
from common.utils import signer, get_logger
|
from common.utils import get_logger
|
||||||
|
from common.db.utils import Encryptor
|
||||||
from .signals import setting_changed
|
from .signals import setting_changed
|
||||||
|
|
||||||
logger = get_logger(__name__)
|
logger = get_logger(__name__)
|
||||||
|
@ -53,7 +54,7 @@ class Setting(models.Model):
|
||||||
try:
|
try:
|
||||||
value = self.value
|
value = self.value
|
||||||
if self.encrypted:
|
if self.encrypted:
|
||||||
value = signer.unsign(value)
|
value = Encryptor(value).decrypt()
|
||||||
if not value:
|
if not value:
|
||||||
return None
|
return None
|
||||||
value = json.loads(value)
|
value = json.loads(value)
|
||||||
|
@ -66,7 +67,7 @@ class Setting(models.Model):
|
||||||
try:
|
try:
|
||||||
v = json.dumps(item, cls=JSONEncoder)
|
v = json.dumps(item, cls=JSONEncoder)
|
||||||
if self.encrypted:
|
if self.encrypted:
|
||||||
v = signer.sign(v)
|
v = Encryptor(v).encrypt()
|
||||||
self.value = v
|
self.value = v
|
||||||
except json.JSONDecodeError as e:
|
except json.JSONDecodeError as e:
|
||||||
raise ValueError("Json dump error: {}".format(str(e)))
|
raise ValueError("Json dump error: {}".format(str(e)))
|
||||||
|
|
Loading…
Reference in New Issue