flask_login @login_required登录后继续将我重定向到登录页面

罗伊·贝恩(Roii Bane)
@app.route('/login', methods=['GET', 'POST'])
def login():
    form = LoginForm()
    if form.validate_on_submit():
        """
        flash('Login requested for user {}, remember_me={}'.format(
            form.username.data, form.remember_me.data))
        """
        # Checks if user name and password-hash are the same in the db (Log in). Else it will show error message
        if user_name_exist(form.username.data) and get_password(form.username.data) == \
                md5(form.password.data.encode()).hexdigest():
            user = User.query.get(form.username.data)
            login_user(user, remember=form.remember_me.data)
            flash(current_user.is_authenticated)
            return redirect(url_for('index'))
        else:
            form.showerror.text = "Password or User Name Incorrect"
    return render_template('login.html', title='Login', form=form)

我确认用户使用current_user.is_authenticated函数登录,该函数返回True。但是我仍然无法进入我上面有@login_required的页面。我究竟做错了什么?

@app.route('/index')
@login_required
def index():
    form = ShowRoomsForm()
    return render_template('index.html', title='Home', form=form)

编辑:(登录管理器代码)

login = LoginManager(app)
login.login_view = 'login'

我能够解决这个问题。问题是我的用户加载器功能通过用户名而不是id引导用户。我将其更改为通过id并已解决问题,这里是解决方法:

@login.user_loader
def user_loader(user_id):
    user = User.query.filter_by(id=user_id).first()
    if user:
        return user
    return None
罗伊·贝恩(Roii Bane)

我能够解决这个问题。问题是我的用户加载器功能通过用户名而不是id引导用户。我将其更改为通过id并已解决问题,这里是解决方法:

@login.user_loader
def user_loader(user_id):
    user = User.query.filter_by(id=user_id).first()
    if user:
        return user
    return None

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

flask_login中不存在next_is_valid()?

将wp-login.php隐藏为登录名并将其重定向到自定义登录页面

django login_required装饰器,即使登录后也始终重定向到登录页面

ImportError:即使安装了模块,也没有名为flask_login的模块

flask_login的多个用户

Flask登录重定向回登录页面

为什么在使用@login_required装饰器时Django为什么登录重定向过多?

Django @login_required装饰器不会重定向到特定页面

flask_login是否自动设置“ next”参数?

user_loader()函数的Flask_login问题给我无

无法使用flask_login访问login_required路由

flask_login总是返回未经授权的401

如何将flask_login与多个用户类和不同的数据库条目一起使用?

为什么子线程无法访问flask_login中的current_user变量?

Flask Heroku NoModuleNamed'flask_login'

装饰器:flask / flask_login,使用login_required

Python Flask登录login_required重定向

flask_login,如何从新线程获取 current_user?

current_user.is_authenticated 始终为 False(TACACS 和 flask_login)

似乎无法让 Flask_login 与 gunicorn 一起使用

Django:Login_required(重定向到自定义 login_url)不起作用

在颤动中维护flask_login会话

为什么我无法通过flask_login正确授权网站上的用户

简单的 flask_login 示例 - 这是正确的方法吗?

Flask 如何将@login_required 重定向到特定路由?

login_user() Nonetype 对象没有属性 is_active 和 flask_login

使用不同用户类型的flask_login在python中实现登录系统

无法导入flask_login 以使用LoginManager

用户登录后 Flask-Login 重定向到 React 客户端