Я много занимался разработкой колбы, но не углубился в защиту веб-приложений с помощью аутентификации пользователя. Ради этого примера давайте
предположим, у меня есть базовая настройка
from flask import Flask
app = Flask(__name__)
# Can't be accessed if not logged in
@app.route('/secure')
def secure():
# pseudo code
if user != authenticated:
return redirect('login')
else:
return render_template('secure.html')
@app.route('/login')
def login():
return render_template('login.html')
# Called from the login page form
@app.route('/authenticate')
def authenticate():
# do some code to authenticate, pseudo
if username in DB and password == password-hash:
user = authenticated
return redirect('/')
if __name__ == '__main__':
app.run()
Я могу использовать mongodb и добавлять / удалять / запрашивать данные. Моя проблема в том, что я не знаю, как связать их вместе. Пользователь создает учетную запись, данные добавляются в БД, пользователь входит в систему, запрашивает ввод данных в БД, если он совпадает, они могут получить доступ к сайту.
Проблема, с которой я сталкиваюсь, заключается в том, как сообщить своему приложению Flask, что после того, как пользователь предоставит правильные учетные данные, он сможет запомнить / узнать, кто они, и разрешить им доступ к закрытым страницам. Я думаю, как я могу отслеживать статус аутентификации до тех пор, пока они не выйдут из системы.
примечание: хотелось бы знать самый безопасный метод многопользовательской аутентификации во Flask