我正在尝试创建一个登录页面,该页面直接从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”的用户从两台不同的计算机登录,系统将覆盖并仅容纳一个用户。
我查看了flask-login,但是我的应用程序中没有用户模型,因为我直接使用SQL DB来验证用户名和密码。 https://flask-login.readthedocs.io/en/latest/ 任何人都可以提供示例或其他任何方法来实现会话以使用Python处理多个用户吗?