Flask登录仅提供正确密码的回溯错误

问题描述 投票:0回答:1

我正在尝试使用flask-login创建登录路由。我正在使用SQL DB和SQLAlchemy。我可以设法注册一个用户并尝试登录。

  • 如果我使用无效的用户名登录,它将重新路由到error.html。
  • 如果我使用有效的用户名但密码无效登录,它也会正确地重新路由。
  • 列表项

    在下面找到我的代码:

    @login_manager.user_loader
    def load_user(user_id):
      return Users.query.get(int(user_id))
    
    @app.route("/", methods=['GET','POST'])
    def index():
        userdb = Users.query.all()
        if request.method == 'POST':
            username = request.form.get("username")
            password = request.form.get("password")
            try:
                user = Users.query.filter_by(username=username).first()
                if password == user.password:
                    login_user(user)
                    return render_template('home.html')
                else: return render_template('Error.html')
            except Exception:
                db.session.rollback()
                return render_template('Error.html')
        return render_template('login.html')
    

假设用户名是:foo,密码是:1234我故意输入了错误的密码并返回了user.password,我得到了正确的密码1234,所以数据库没有问题

python flask sqlalchemy flask-login
1个回答
0
投票

导致错误是我已注释掉app.secret_key命令以尝试和调试。原来的错误是未设置secret_key,但是我看不到该错误,因为我将所有错误都重新路由到error.html。

© www.soinside.com 2019 - 2024. All rights reserved.