def login():
    """login authentication"""
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    form = LoginForm()
    if form.validate_on_submit():
        # checks if email has been taken
        user = User.query.filter_by(email=form.email.data).first()
        # checks if email and password has been validated
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get("next")
            return redirect(next_page) if next_page else redirect(url_for("main.home"))
        else:
            flash("Login unsuccessful. Please check your email and password", "danger")
    return render_template("login.html", title="Login", form=form)
Exemple #2
0
def login():
    form = LoginForm()
    email = form.email.data
    password = form.password.data
    remember = form.remember.data
    if form.validate_on_submit():
        print(Users.query.all())
        user = Users.query.filter_by(email=email).first()
        if user and bcrypt.check_password_hash(user.password, password):
            login_user(user, remember=remember)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash('Login unsuccessful', 'danger')
    return render_template('login.html', title='Login', form=form)
Exemple #3
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash('Вход запрещен. Пожалуйста, проверьте имейл и пароль',
                  'danger')
    return render_template('login.html', title='Login', form=form)
Exemple #4
0
def login():
    if current_user.is_authenticated:
        return redirect('hello')
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.pw, form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('main.hello'))
            # flash(f'omg welcome back {}')
        else:
            flash('Login unsuccessful, please check your email and password',
                  'danger')
    return render_template('login.html', title='login nao', form=form)
Exemple #5
0
def login():
	if current_user.is_authenticated:
		return redirect(url_for('main.home'))
	form = LoginForm()
	if form.validate_on_submit():
		user = User.query.filter_by(email=form.email.data).first()
		if user and bcrypt.check_password_hash(user.password, form.password.data):
			login_user(user, remember=form.remember.data)
			next_page = request.args.get('next')
			if next_page:
				return redirect(next_page)
			else:
				return redirect(url_for('main.home'))
		else:
			flash("Login unsuccessful, please check email and password","danger")
	return render_template("login.html", title="Login", form=form)
Exemple #6
0
def login():
    # if current user is already logged in, they should not be able to access login page
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        # match hash of password
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            login_user(user, remember=form.remember.data)
            # after logging in, redirect to restricted page that user was trying to access, without login
            next_page = request.args.get("next")
            return redirect(next_page) if next_page else redirect(url_for("main.home"))
        else:
            flash("Login Unsuccessful. Please check email and password", "danger")
    return render_template("login.html", title="Login", form=form)
Exemple #7
0
def login():
    form =  LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        print('user--->', user.password)
        print(form.email.data)
        print(form.password.data)
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            print('yes')
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            flash(f'login success!', 'success')
            return  redirect(next_page) if next_page else redirect(url_for('mains.home'))
        else:
            flash(f'Failed to login!', 'danger')
    return render_template('login.html', title='Login', form=form)
Exemple #8
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash('Login unsuccessful. Please check username and password.',
                  'danger')
    return render_template('login.html', title='Register', form=form)
def login():
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            print('login : next_page', next_page)
            # ternary conditon applied here. if true then left stat will execute neither right stat will be executed
            return redirect(next_page) if next_page else redirect(url_for('main.home'))
        else:
            flash("Login Unsuccessful! please check email and password", "danger")
    print("GET")
    return render_template("login.html", title='login', form=form)
Exemple #10
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            flash('Succesfully logged in!', 'success')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash('Invalid email or password!', 'danger ')
    return render_template("login.html", title="Login", form=form)
Exemple #11
0
def login():
    if current_user.is_authenticated:
        return redirect('/')

    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and brcypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect('/')
        else:
            flash(f'Logging unsuccessfully! Please check Email and Password',
                  'danger')
    return render_template('login.html', title='Login', form=form)
Exemple #12
0
def login():
    if current_user.is_authenticated: return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get(
                'next'
            )  # get return none if key not exist, dictionary key will raise error
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))  # python ternary operator
        flash('Unsuccessful login, please check email and password',
              'ui negative message')
    return render_template('login.html', form=form, title='Login')
Exemple #13
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("home"))

    form = LoginForm()
    if form.validate_on_submit():
        # check's if user exists in the db
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            login_user(user, remember=form.remember.data)
            # if an unauthenticated user wnats to access a @login_required route, the login page will load
            # and when he logs in, the server will return the page that he wanted to enter
            next_page = request.args.get("next")
            return  redirect(next_page) if next_page else redirect(url_for("main.home"))
        else:
            flash('Login Unsuccessful. Please check username and password', 'danger')
    return render_template('login.html', title='Login', form=form)
Exemple #14
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if request.method == 'POST':
        if form.validate_on_submit():
            user = User.query.filter_by(email=form.email.data).first()
            if user and bcrypt.check_password_hash(user.password,
                                                   form.password.data):
                login_user(user, remember=form.remember_me.data)
                next_page = request.args.get('next')
                return redirect(url_for(
                    'main.home')) if not next_page else redirect(next_page)
            else:
                flash('Login unsuccessful, please check e-mail and password',
                      'failed')
    return render_template('login.html', title='Log in', form=form)
Exemple #15
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and user.check_user_password(form.password.data):
            login_user(user, remember=form.remember.data)
            next_url = request.args.get('next')
            # 防止重定向攻击
            if not next_url or not next_url.startswith('/'):
                next_url = url_for('main.home')
            return redirect(next_url)
        else:
            flash('Login Unsuccessful. Please check email and password.',
                  'danger')
    return render_template('login.html', form=form, title='Login')
Exemple #16
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        print("emails is: ", str(user))
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            login_user(user, remember=form.remember.data)
            flash('You were logged in')
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(url_for('main.home'))
        else:
            flash('Login unsuccessful. Please check email and password', 'danger')
    else:
        print("not validate on submit")
    return render_template('login.html', title="Login", form=form)
Exemple #17
0
def login_page():
    form = LoginForm()
    if current_user.is_authenticated:
        return redirect(url_for("main.home_page"))
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and brcypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get("next")

            return (redirect(next_page) if next_page else redirect(
                url_for("main.home_page")))
        else:
            flash("Login Unsuccessful. Please check the Email and Password",
                  "danger")
    return render_template("login.html", title="Login", form=form)
Exemple #18
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    login_form = LoginForm()
    if login_form.validate_on_submit():
        user = User.query.filter_by(email=login_form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               login_form.password.data):
            login_user(user, remember=login_form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect('home')
        else:
            flash(f'Check email or password', 'danger')
    return render_template('login.html',
                           title='Login',
                           form=login_form,
                           num_registered=User.get_num_registered())
Exemple #19
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        #check is user exists and pass verfies
        if user and bcrypt.check_password_hash(user.password, form.password.data):
            #log them in using our login extension
            login_user(user, remember=form.remember.data)
            #args is a dictionary, get method returns none if next doesn't exsist
            # getting the next page
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(url_for('main.home'))
        else:
            flash('Login Unsuccessful. Please check email and password.', 'danger')
    return render_template('login.html', title='Login', form=form)
Exemple #20
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            # on the url when redirected to login from another page (url encoded)
            next_page = request.args.get("next")
            # python version of C++ ternary: x > 0 ? true : false;
            return redirect(next_page) if next_page else redirect(
                url_for("main.home"))
        else:
            flash(f"Login failed. Please check email and password.", "danger")
    return render_template("login.html", title="Login", form=form)
Exemple #21
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('users.login'))
    form = LoginForm()
    if form.validate_on_submit():
        user = session.query(User).filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            # flash('You have been logged in!', 'success')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash('Login Unsuccessful. Please check email and password',
                  'danger')
    return render_template('login.html', title='Login', form=form)
Exemple #22
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get(
                'next'
            )  # args is a key, but we do not use [] for access as it will throw error on key absence where get will return None
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash('Login Unsuccessful. Please check email/password', 'danger')
    return render_template('login.html', title='Login', form=form)
Exemple #23
0
def login():
    if current_user.is_authenticated:
        flash("You are already logged in!", category='success')
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrpyt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            #flash("You have been logged in!",category='success')
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash("Login unsuccesfull", category='danger')
    return render_template('login.html', title='Login', form=form)
Exemple #24
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
            # these 2 lines above are only for when user is logged out and access the account page, in which
            # case a 'next' argument is generated in the address bar indicating where we'll go after login
        else:
            flash('Login Unsuccessful. Please check email and password',
                  'danger')
    return render_template('login.html', title='Login', form=form)
Exemple #25
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data,
                                    email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home')
            )  # turnery conditionnal when if else in same line and if next_ mean if next_ is not none
        else:
            flash('Login failed. Please check username ,email and password',
                  'danger')
    return render_template('login.html', title='Login', form=form)
Exemple #26
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        password_checking = bcrypt.check_password_hash(user.password,
                                                       form.password.data)
        if user and password_checking:
            login_user(user, remember=form.remember_me.data)
            next_page = request.args.get("next")
            return redirect(next_page) if next_page else redirect(
                url_for("main.home"))
        else:
            flash(
                f"Login Was Unsuccessful 😕, Please check your username and password!",
                "danger")
    return render_template("login.html", title="Login", form=form)
Exemple #27
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            #if user is exist and password iscorrect so we neeed tolog user and we use the login functio
            login_user(user, remember=form.remember.data)
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))

        else:
            flash('login Unsuccesfull,Check you credential', 'danger')

    return render_template('login.html', title='Login', form=form)
Exemple #28
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            #  use of get method to return the route for the next page
            next_page = request.args.get('next')
            #  redirect to next page if next_page exists elso goto home page
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash('Login Unsuccessful. Please check email and password',
                  'danger')
    return render_template('login.html', title='Login', form=form)
Exemple #29
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            flash(f'You have successfully logged in!', 'success')
            next_page = request.args.get(
                'next')  # retrieve the route parameter from the url query
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash('Login Unsuccessful! Please check email and password.',
                  'danger')
    return render_template('login.html', title='Login', form=form)
Exemple #30
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))

    form = LoginForm()
    if form.validate_on_submit():
        user = User.find_by_email(email=form.email.data)
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)  # set current_user

            # Redirect user to th restricted page on login else send them home
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash('Authentication Failed', 'danger')
    return render_template('login.html', title='LogIn', form=form)