def login(): login_form = LoginForm(request.form) #if 'login' in request.form: if login_form.validate_on_submit(): # read form data username = request.form['username'] password = request.form['password'] # Check user and password if (username in users_db.users) and ( password == users_db.get_user(username).get('password')): user = User(username, users_db.get_user(username).get('password'), users_db.get_user(username).get('id')) login_user(user) return redirect(url_for('base_blueprint.route_default')) # Something (user or pass) is not ok else: return render_template('accounts/login.html', msg='Wrong user or password', form=login_form) print(current_user) if not current_user.is_authenticated: return render_template('accounts/login.html', form=login_form) return redirect(url_for('home_blueprint.index'))
def login(): login_form = LoginForm(request.form) # -------------------------------------------------------------------------# # POST Request - Valid if login_form.validate_on_submit(): # Search for user in database user = User.query.filter_by(username=login_form.username.data).first() # Username invalid if not user: flash("Invalid username or password.", "info") return render_template( "accounts/login.html", msg="Invalid username or password.", form=login_form, ) # Password is invalid elif not user.check_password(login_form.password.data): flash("Invalid username or password.", "info") return render_template( "accounts/login.html", msg="Invalid username or password.", form=login_form, ) # Account is not confirmed elif (user and user.check_password(login_form.password.data) and not user.confirmed): flash("User has not confirmed by email.", "info") return render_template( "accounts/login.html", msg="User has not confirmed by email.", form=login_form, ) # Valid login elif user and user.check_password(login_form.password.data): login_user(user, remember=login_form.remember_me.data) next_page = request.args.get("next") # only allow relative links if not next_page or url_parse(next_page).netloc != "": next_page = url_for("home_blueprint.index") return redirect(next_page) # Unhandled else: flash("Unknown error.", "error") return render_template("accounts/login.html", msg="Unknown error.", form=login_form) # -------------------------------------------------------------------------# # GET Request - Non-Authenticated User if not current_user.is_authenticated: return render_template("accounts/login.html", form=login_form) # -------------------------------------------------------------------------# # GET Request - Authenticated User else: return redirect(url_for("home_blueprint.index"))
def login(): form = LoginForm() if request.method == "POST" and form.validate_on_submit(): username = form.username.data password = form.password.data user = User.query.filter_by(username=username).first() # Check the password if user and check_password_hash(user.password, password): login_user(user) return redirect(url_for("home_blueprint.index")) else: flash("Invalid username or password.", "danger") return render_template("accounts/login.html", form=form)
def login(): form = LoginForm() status = '' try: current_app.logger.debug(form.email.data.lower().replace(' ', '')) except: pass current_app.logger.debug('form not validated') email_entered = form.email.data password_entered = form.password.data current_app.logger.debug( f'user entered {email_entered} and {password_entered} form not validated' ) current_app.logger.debug('form not validated') if form.validate_on_submit(): try: current_app.logger.debug(form.email.data.lower().replace(' ', '')) except: pass current_app.logger.debug('form validated') user = User.query.filter_by(email=form.email.data.lower().replace( ' ', ''), active=1).first() if user is not None: current_app.logger.debug(f'found user {user}') if user.check_password(form.password.data): current_app.logger.debug( f'user {user} entered correct password') login_user(user) next_url = request.args.get('next') current_app.logger.debug(f'{user} signed in') if next_url is None or not next_url[0] == '/': next_url = url_for('home_blueprint.index') return redirect(next_url) else: status = 'Неверный пароль' else: status = 'Пользователя с такой почтой нет' return render_template('login/login.html', form=form, status=status)