jumpserver/apps/authentication/utils.py
BaiJiangJie cea336a8ce
[Update] 用户第三方认证后,只在创建时修改用户来源信息;修改检验用户有效性逻辑; (#3517)
* [Update] 用户第三方认证后,只在创建时修改用户来源信息

* [Update] 修改检验用户有效性逻辑(解决启用LDAP等认证时,显示用户名不存在)

* [Update] 修改检验用户有效性逻辑(解决启用LDAP等认证时,显示用户名不存在)2
2019-12-09 16:12:48 +08:00

26 lines
748 B
Python

# -*- coding: utf-8 -*-
#
from django.contrib.auth import authenticate
from . import errors
def check_user_valid(**kwargs):
password = kwargs.pop('password', None)
public_key = kwargs.pop('public_key', None)
username = kwargs.pop('username', None)
request = kwargs.get('request')
user = authenticate(request, username=username,
password=password, public_key=public_key)
if not user:
return None, errors.reason_password_failed
elif user.is_expired:
return None, errors.reason_user_inactive
elif not user.is_active:
return None, errors.reason_user_inactive
elif user.password_has_expired:
return None, errors.reason_password_expired
return user, ''