Использование Flask-Login, я могу регистрировать пользователей и выходить, а также регистрировать новых пользователей. Если я войду в систему, перейдите к другому сайту, а затем вернитесь на мой сайт, я все равно выполнил вход. Не следует login_user(user, remember=False)
предотвратить это? Я не понимаю, как это работает?Почему настройка remember = 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)
Я вижу. Как это обычно обрабатывается? Если на странице входа есть флажок remember_me, который не проверяется пользователем, то следует ли изменить время сеанса Permanent_session_lifetime на небольшое значение? Или это нормальное поведение, чтобы запомнить пользователя в течение 30 дней, даже если они говорят, что нет? – theQman
@theGman Я обновил ответ, чтобы лучше понять, что происходит. – davidism
Ahh Я забыл о закрытии борссера ... Хорошо. Теперь я могу перейти к тому, чтобы обернуть мою голову значком токена memor_me, о котором я еще больше смущен. – theQman