Я хотел бы сгенерировать случайный одноразовый пароль для пользователя, который отображается в виде отключенного поля в форме Django.
Пароль будет показан в форме пользователю на странице,и пользователь не сможет редактировать его, но он будет отправлен вместе с формой.Я не хочу, чтобы мои пользователи устанавливали свои собственные пароли, но я хочу сказать им, какой у них пароль.
Каков наилучший способ гарантировать, что одноразовый пароль, сгенерированный для пользователей, не редактируетсяпо пользователям?Я использовал переменные сеанса, чтобы запомнить значение, чтобы я мог подтвердить, что оно не было изменено при отправке.
def my_page(request):
# If submitted
if request.method == "POST":
# Check to make sure passcode wasn't altered
if (request.POST.get('passcode') == request.session['pw']):
... rest of function here ...
# Generate passcode and store it the session
request.session['pw'] = genRandomPassword()
# Init the form with a passcode
form = MyForm(initial={'passcode': request.session['pw']})
return render(request, 'example.html', {'form': form})
Есть ли лучший способ выполнить то, что я пытаюсь сделать?Я думаю, что то, что я делаю, работает, пока пользователи не могут редактировать свои переменные сеанса.Он сломается, если пользователь откроет другую вкладку, так как тогда будет сгенерирована вторая переменная сеанса пароля.
Я не хочу хранить коды доступа в базе данных.