在Python中使用来自不同机器的多个用户进行Flasklogin

2024-04-26 18:47:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个登录页,直接从sqldb验证用户。我使用的会话如下:

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登录,但是我的应用程序中没有用户模型,因为我直接使用sqldb来验证用户名和密码。https://flask-login.readthedocs.io/en/latest/ 有人能提供一个例子或任何其他方法来实现在Python中处理多个用户的会话吗?你知道吗


Tags: 用户fromappurlflaskforreturnrequest