Python 为什么设置memory=False仍然让我登录?

Python 为什么设置memory=False仍然让我登录?,python,flask,flask-login,Python,Flask,Flask Login,使用Flask登录,我可以登录和注销用户,以及注册新用户。如果我登录,然后导航到其他站点,然后返回到我的站点,我仍然登录。login\u用户(user,memory=False)不应该阻止这种情况吗?我是不是误解了这是怎么回事 在views.py中,除其他代码外,我还有: from flask.ext.login import login_user, logout_user, current_user, login_required @app.route('/signup', methods=

使用Flask登录,我可以登录和注销用户,以及注册新用户。如果我登录,然后导航到其他站点,然后返回到我的站点,我仍然登录。
login\u用户(user,memory=False)
不应该阻止这种情况吗?我是不是误解了这是怎么回事

在views.py中,除其他代码外,我还有:

from flask.ext.login import login_user, logout_user, current_user, login_required

@app.route('/signup', methods=['GET', 'POST'])
def signup():
    form = SignupForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email = form.email.data.lower()).first()
        if user:
            flash("Email already exists!")
            return redirect(url_for('signup'))
        elif form.password.data != form.password2.data:
            flash("Passwords do not match.")
            return redirect(url_for('signup'))
        else:
            newuser = User(email=form.email.data, nickname=form.username.data)
            newuser.pwdhash = generate_password_hash(form.password.data)
            db.session.add(newuser)
            db.session.commit()
            login_user(newuser, remember=False)
            flash("Thank you for registering")
                return redirect(url_for('index'))
    return render_template('signup.html',  form=form)

@app.route('/login', methods=['GET', 'POST'])
def login():
    form = SigninForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email = form.email.data.lower()).first()
        if user and check_password_hash(user.pwdhash, form.password.data):
            login_user(user,  remember=False)
            return redirect(url_for('index'))
        else:
            flash('huh')
            return redirect(url_for('login'))
    else:
        return render_template('login.html', form=form)

除了Flask的会话cookie之外,Flask登录的记住标志还设置了一个特殊cookie。默认情况下,此记住cookie会在浏览器重新启动时持续30天,但仅当记住为true时才会创建

即使记住为false,Flask的会话cookie仍然存在,因此您将在单个浏览器会话期间保持登录状态。Flask的会话cookie也可以持久化,但这超出了Flask登录的范围

你观察到的行为是完全正常的。当某人离开您的站点时,无法自动将其注销当前会话

我的重点是:

cookie将保存在用户的计算机上,然后Flask Login将自动从该cookie恢复用户ID(如果该cookie不在会话中)