fix(login): 用户登录堡垒机的时候偶尔会出现“密码解密失败”,导致无法正常登录。 #4408

pull/4430/head
xinwen 2020-07-29 17:46:43 +08:00 committed by 老广
parent e98235ca27
commit 2ed0927b18
1 changed files with 9 additions and 3 deletions

View File

@ -109,12 +109,18 @@ class UserLoginView(mixins.AuthMixin, FormView):
def get_context_data(self, **kwargs):
# 生成加解密密钥对public_key传递给前端private_key存入session中供解密使用
rsa_private_key, rsa_public_key = utils.gen_key_pair()
self.request.session['rsa_private_key'] = rsa_private_key
rsa_private_key = self.request.session.get('rsa_private_key')
rsa_public_key = self.request.session.get('rsa_public_key')
if not all((rsa_private_key, rsa_public_key)):
rsa_private_key, rsa_public_key = utils.gen_key_pair()
rsa_public_key = rsa_public_key.replace('\n', '\\n')
self.request.session['rsa_private_key'] = rsa_private_key
self.request.session['rsa_public_key'] = rsa_public_key
context = {
'demo_mode': os.environ.get("DEMO_MODE"),
'AUTH_OPENID': settings.AUTH_OPENID,
'rsa_public_key': rsa_public_key.replace('\n', '\\n')
'rsa_public_key': rsa_public_key
}
kwargs.update(context)
return super().get_context_data(**kwargs)