You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Flask-Security阻止用户注册后自动登录并跳转至登录页?

注册后禁止自动登录并跳转至登录页

要实现注册完成后不自动登录、直接跳转至登录页的需求,你当前的配置和路由存在两处问题:

  • SECURITY_POST_REGISTER_VIEW指向的/login_redirect/路由添加了@login_required装饰器,注册后的用户尚未登录,访问该路由会被拦截,无法完成跳转
  • 未禁用Flask-Security默认的注册后自动登录行为

正确实现方案

1. 修改配置项

添加禁用自动登录的配置,并直接将注册后跳转目标设为登录页面:

app.config['SECURITY_REGISTERABLE'] = True
app.config['SECURITY_CONFIRMABLE'] = False
app.config['SECURITY_SEND_REGISTER_EMAIL'] = False
app.config['USER_ENABLE_CONFIRM_EMAIL'] = False
app.config['SECURITY_POST_LOGIN_VIEW'] = '/'
# 禁用注册后自动登录
app.config['SECURITY_AUTO_LOGIN_AFTER_REGISTER'] = False
# 直接设置注册后跳转至登录页
app.config['SECURITY_POST_REGISTER_VIEW'] = url_for('security.login')

2. 无需额外跳转路由

上述配置已满足需求,不需要定义/login_redirect/路由。如果一定要保留自定义路由(不推荐),需移除@login_required装饰器:

@app.route('/login_redirect/')
def login_redirect():
    return redirect(url_for('security.login'))

调整后,用户注册完成后系统不会自动登录,会直接跳转到登录页面。

内容的提问来源于stack exchange,提问作者Parth Jeet

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 10:17:15