python - 在 Python 中使用来自不同机器的多个用户进行烧瓶登录
问题描述
我正在尝试创建一个登录页面,该页面直接从 SQL DB 验证用户。我使用的会话如下:
from flask import Flask, session, redirect, url_for, escape, request
app = Flask(__name__)
@app.route('/login', methods=['GET', 'POST'])
def login():
username = request.form['username']
password = request.form['password']
session['username'] = username
# db.verify authenticates user from SQL DB
verifiedUser = db.verifyUser(username, password)
if verifiedUser:
session['logged_in'] = True
global currentUser
currentUser = session['username']
return redirect(url_for('home'))
else:
errormsg = "wrong password"
flash(errormsg)
print(errormsg)
return render_template('login.html', error=errormsg)
@app.route('/logout')
def logout():
# Remove the username from the session if it's there
session.pop('username', None)
return redirect(url_for('login'))
但是通过这种方法,两个名为“Jack”和“Jill”的用户从两台不同的机器登录,系统将覆盖并只接受一个用户。
我查看了烧瓶登录,但我的应用程序中没有用户模型,因为我直接使用 SQL DB 来验证用户名和密码。https://flask-login.readthedocs.io/en/latest/ 谁能提供一个示例或任何其他示例来实现会话以在 Python 中处理多个用户?
解决方案
推荐阅读
- r - 如何从列表列表中检索元素及其所在的列表?
- asterisk - Asterisk SendURL() 使用主流 UCM6204
- git - Git克隆文件属于错误用户后,无法编辑
- angular - 使用代理将 Nginx HTTP 重定向到 HTTPS 不起作用
- c# - 添加具有相同名称的新程序集
- file - 如何通过批处理查找扩展名从未知文件名中设置变量?
- android - 未反映在 Firebase 数据库的 ValueEventListeners 内完成的分配
- php - Codeigniter 3.0,您没有选择要上传的文件
- javascript - 将 nodemon 和 --inspect 与无服务器一起使用
- c++ - 如何将 PyObject 转换为 UTF-8 字符串?