Проблема входа для импортированных пользователей в django
У меня есть 2 приложения django, и я хочу импортировать пользователей с паролями в другое приложение. когда я делаю это, у меня возникает проблема со входом в систему импортированные пользователи не могут войти в систему Примечание: у меня есть пользовательская модель пользователя эти 2 приложения имеют ОДИНАКОВЫЙ СЕКРЕТНЫЙ_КЛЮЧ и вот мой код для входа
GetDomain = Domains.objects.filter(domain=get_domain(HTTP_HOST=request.META['HTTP_HOST'])).first()
Email = request.POST.get('mail', None)
raw_password = request.POST.get('pass', None)
recaptcha_response = request.POST.get('g-recaptcha-response', None)
if Email is None:
return HttpResponse(ajax_result(Code=200, message='ایمیل خالی است'))
if raw_password is None:
return HttpResponse(ajax_result(Code=200, message='پسورد خالی است'))
if recaptcha_response is None:
return HttpResponse(ajax_result(Code=200, message='کد امنیتی را وارد کنید'))
GetUser = User.objects.filter(email=Email).first()
if GetUser is not None and GetUser.is_active:
if GetUser.aff != GetDomain.UseBy.username:
return HttpResponse(ajax_result(Code=200, message='کاربر یافت نشد'))
if RecaptchaValidator(recaptcha_response):
if not GetUser.is_superuser and not GetUser.is_staff:
DeleteLastSessions(GetUser)
user = authenticate(username=GetUser.username, password=raw_password)
try:
login(request, user)
except AttributeError:
return HttpResponse(ajax_result(message='اطلاعات ورود اشتباه است'))
GetUser.Browser = request.META['HTTP_USER_AGENT']
GetUser.IsLogin = True
GetUser.LastLoginIP = GetIP(request)
GetUser.save()
if GetUser.is_superuser or GetUser.is_staff:
SubmitLog(user=request.user, Part='ورود به پنل', Number=None, Information=None,
IP=GetIP(request))
threading.Thread(target=WriteUserExtraInformation, args=(request, GetUser,), name='WI').start()
if GetUser.NeedVerify:
Context = '{"result" : "ok", "data": {"url":"/tickets/send?verify=1"}}'
else:
if 'next' in request.GET.keys():
Context = '{"result" : "ok", "data": {"url":"' + request.GET['next'] + '"}}'
else:
Context = '{"result" : "ok", "data": {"url":"/profile/"}}'
response = HttpResponse(Context)
response.set_cookie('app', 'True', secure=True)
return response
else:
return HttpResponse(ajax_result(message='کد امنیتی درست وارد نشده'))
else:
return HttpResponse(ajax_result(message='اطلاعات ورود اشتباه است'))
импортированные пароли хэшей пользователей - это : pbkdf2_sha256$216000$E85jHHVRM2dF$hUSxY0ih7ijkLBpey6OuyitF5y5LuuMKWdcV4zwE6Zk=
>хэш-пароль нового пользователя : pbkdf2_sha256$320000$G8JV9BEtb5XbMyZmjcTBir$5jWXFmtE9hOKTkpPf+bvSXpa/LRa+b0c1OY3QryFP0Q=
это потому, что итерации PBKDF2PasswordHasher в старой версии django равны : 216000 а в новой версии итерации равны : 320000 Я изменил свой код, если итерации равны 216000, сбросьте пароль и готово !