mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-08-04 16:00:39 +00:00
fix: setting field encrypt issue
This commit is contained in:
parent
543dde57ab
commit
dc5ecfcc4b
@ -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
Block a user