Django страниц, доступных через парольные фразы - PullRequest
0 голосов
/ 09 марта 2020

(Повторно написано, что мой первый пост был неверно сформулирован)

Привет,

У меня есть Django веб-сайт, который в настоящее время поддерживает аутентификацию при входе и сообщения, однако я хочу сделать второй уровень аутентификации.

Я хочу знать, если есть способ, отличный от аутентификации пользователя, у меня могут быть страницы, защищенные паролем. Например, сообщение может быть сгенерировано на скрытой странице, доступ к этой странице возможен только в том случае, если вошедший в систему пользователь вводит пароль в форму.

Таким образом, пользователь может войти в систему, go для / passform и будет приветствоваться полем ввода текста, как только они введут код, который соответствует сообщению (например, post1 имеет секретный код доступа «abc123»), если код соответствует сообщению, он перенаправит их на указанную страницу, и, если код не коррелирует, он просто выдаст ошибку.

Есть ли способ сделать это в Django или я должен использовать запросы для этого?

(для этого примера Я также предполагаю, что моя запись создания имеет функцию для ввода ключевой фразы таким же образом, как если бы вы вводили заголовок и т. Д., Чтобы он сохранялся в той же базе данных.)

1 Ответ

0 голосов
/ 09 марта 2020

Вот простой способ сделать это (просто подтверждение концепции, а не код качества продукции):

def my_view(request):
    if request.method == "POST":
        if request.POST.get("password") == "s3cr3t":
            return render(request, "secret_page.html")
    return render(request, "password_page.html")

password_page. html:

<form method="post">
   {% csrf_token %}
   <input type="password" name="password">
   <input type="submit">
</form>
...