示例#1
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))

    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.confirmed:
                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.index'))
            else:
                #todo
                #if a user raises user.confirmed is None: show a link to send verification
                #on html
                send_verification_email(user)
                flash(
                    "Verification email has been sent to your email address. ",
                    "info")
                return render_template('login.html', form=form)
        else:
            flash("Wrong credentials, please try again", "error")
            return render_template('login.html', form=form)
    return render_template('login.html', form=form)
示例#2
0
def login():

    form = LoginForm()
    if form.validate_on_submit():
        # Grab the user from our User Models table
        user = User.query.filter_by(email=form.email.data).first()

        # Check that the user was supplied and the password is right

        if user.check_password(form.password.data) and user is not None:
            #Log in the user

            login_user(user)
            flash('Logged in successfully.')

            # If a user was trying to visit a page that requires a login
            # flask saves that URL as 'next'.
            next = request.args.get('next')

            # So let's now check if that next exists, otherwise we'll go to
            # the welcome page.
            if next == None or not next[0] == '/':
                next = url_for('core.index')

            return redirect(next)
    return render_template('login.html', form=form)
示例#3
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user.check_password(form.password.data) and user is not None:
            login_user(user)
            flash("Login Success!")
            return redirect(url_for('core.index'))

    return render_template('login.html', form=form)
示例#4
0
文件: routes.py 项目: 008009/moment
def login():
	if current_user.is_authenticated:
		return redirect(url_for('main.home'))
	form = LoginForm()
	if form.validate_on_submit():
		user1 = user.query.filter_by(email=form.email.data).first()
		if user1 and bcrypt.check_password_hash(user1.password, form.password.data):
			login_user(user1, remember=form.remember.data)
			return redirect(url_for('main.home'))
		else:
			flash(f'Please check your email and password','danger')
	return render_template('login.html', title = 'Login', form=form)
def login():
    if current_user.is_authenticated:
        return redirect(url_for('users.account'))
    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'Login was successful. Happy posting', 'success')
            return redirect(url_for('users.account'))
        else:
            flash('Login unsuccessful. Please check email and password', 'danger')
    return render_template('login.html', title='Login', form=form)
示例#6
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 Unsuccessfull. Please check emai and password', 'danger')
    return render_template('login.html', title='Login', form=form)
示例#7
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", form = form, title = "Login")
示例#8
0
def login():
    login_form = LoginForm()
    if login_form.validate_on_submit():
        # Login User if User exists in database and credentials are correct.
        user = User.objects(email=login_form.email.data.lower()).first()
        if user and bcrypt.check_password_hash(user.password,
                                               login_form.password.data):
            login_user(user)
            flash("You are logged in.", "success")
            return redirect(url_for("main.home"))
        else:
            flash("Login unsuccessful. Check email and password.", "danger")
    return render_template("users/login.html", title="Login", form=login_form)
示例#9
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()

        if user.check_password(form.password.data) and user is not None:
            login_user(user)
            flash('Logged in successfully.')
            next = request.args.get('next')
            if next == None or not next[0] == '/':
                next = url_for('core.index')
            return redirect(next)
    return render_template('login.html', form=form)
示例#10
0
def login():
    form = LoginForm()

    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user.check_password(form.password.data) and user is not None:
            login_user(user)
            flash("Log in successful!!")
            next = request.args.get("next")
            if next is None or next[0] == "/":
                next = url_for("core.index")
            return redirect(next)

    return render_template("login.html", form=form)
示例#11
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("Logged In Successfuly  ", 'success')
            return redirect(url_for('main.home'))
        else:
            flash(f"Unsuccesful Login,Please Enter correct details", 'danger')
    return render_template('login.html', title="Login", form=form)
示例#12
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.find_by_email(form.email.data)
        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 & password',
                  'danger')
    return render_template('login.html', title='Login', form=form)
示例#13
0
def login():
    if current_user.is_authenticated:
        redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        # get user
        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) # remember is a boolean input
            # don't use args['next'] or will show error when key doesn't exist
            next_page = request.args.get('next')
            return redirect(next_page) if next_page else redirect(url_for('main.home'))
        else:
            flash('Login Unseccessful. Please check email and password', 'danger')
    return render_template('login.html', title='Login', form=form)
示例#14
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", "/main.home")[1:]
            return redirect(url_for(next_page))
        else:
            flash("Incorrect credentials!", category="danger")

    return render_template("login.html", title="Login", form=form)
示例#15
0
def login():
    form = LoginForm()

    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user.check_password(form.password.data) and user is not None:
            login_user(user)
            flash('Log in successful!')

            # validating already logged in users to access login pages that require logging in
            next_page = request.args.get('next')
            if next_page == None or not next_page[0] == '/':
                next_page = url_for('core.index')
            return redirect(next_page)

    return render_template('login.html', form=form)
示例#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()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.rememberMe.data)
            nextPage = request.args.get("next")
            return redirect(nextPage) if nextPage else redirect(
                url_for("main.home"))
        else:
            flash("Login Unsuccessful. Please check login information.",
                  "danger")
    return render_template('login.html', title="Login", form=form)
示例#17
0
def login():
    login_form = LoginForm()

    if login_form.validate_on_submit():
        user = db.session.query(User) \
            .filter_by(email=login_form.email.data).first()
        if user is None or not user \
                .check_password(login_form.password.data):
            flash("Неправильное имя пользователя или пароль.", "danger")
            return redirect(url_for('users.login'))
        login_user(user, remember=login_form.remember_me.data)
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('main.home')
        return redirect(next_page)
    return render_template('auth/login.html', form=login_form)
示例#18
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).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, form.remember.data)
            flash("You have been logged in", "success")
            next_page = request.args.get("next")
            return redirect(next_page) if next_page else redirect(
                url_for("main.home"))
        else:
            flash("check email and password", "danger")
    return render_template("login.html", form=form, title="login")
示例#19
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.objects.filter(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(f'You have been logged in by {user.username}', 'success')
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
        else:
            flash(f'Email or Password wrong. Please check again.', 'danger')
    return render_template('login.html', title='Login', form=form)
示例#20
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("main.home"))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.objects(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("Logged in sucsessfuly", "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("users/login.html", title="Login", form=form)
示例#21
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    form = LoginForm()
    if form.validate_on_submit():
        # query the database based on email
        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('Wrong email or password.', 'danger')
    # pass form as an argument
    return render_template('login.html', title="Login", form=form)
示例#22
0
def login():
    """This function handles the user login"""
    post = Post.query.all()
    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).first()
        if user and check_password_hash(user.password, form.password.data):
            login_user(user)
            return redirect(url_for('main.home'))
        else:
            flash('login unsuccessful! please recheck your details!', 'danger')
    return render_template('login.html',
                           form=form,
                           post=post,
                           title='Login',
                           directive='noindex')
示例#23
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.lower()).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember.data)
            # when not logged in and trying to access protected routes next refers to url param next=account
            next_page = request.args.get('next')
            # redirect to next page or home if next param doesn't exist
            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('users/login.html', title='Login', form=form)
示例#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()  # check if user in db else None
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            # Once a user has authenticated, you log them in with the login_user function
            login_user(user, remember=form.check.data)
            next_page = request.args.get(
                'next')  # either route or None. Look below for expl
            return redirect(next_page) if next_page else redirect(
                url_for('main.home'))
            # if initially accessed by '/account' => redirects to 'account.html'
            # elif firstly logged by button => redirects to 'home.html'
        flash('Something went wrong. Check your credetentials.', 'danger')
    return render_template('login.html', title='Login', form=form)
def login():
	form = LoginForm()
	error = None
	if form.validate_on_submit():
		user = User.query.filter_by(email=form.email.data).first()
		if user:
			if user.check_password(form.password.data) and user is not None:
				login_user(user)
				flash('Log in Success','login_success')
				next = request.args.get('next')
				if next == None or not next[0] == '/':
					next = url_for('core.index')
				return redirect(next)
			else:
				error = 'Password DoesNot Match'
		else:
			error = 'No User Found'

	return render_template('login.html',error=error,form=form)
def login():
    form = LoginForm()

    if form.validate_on_submit():
        # Used .first() to ensure to get the right format, and not get a list/dictionary
        user = User.query.filter_by(email=form.email.data).first()

        if user.check_password(form.password.data) and user is not None:
            login_user(user)
            flash('Log-in success!')

            # Redirector to login when it's needed in a view.
            next = request.args.get('next')

            if next == None or not next[0] == '/':
                next = url_for('core.index')

            return redirect(next)

    return render_template('login.html', form=form)
示例#27
0
def login():
    form = LoginForm()

    if current_user.is_authenticated:
        flash('You have already logged in!', 'info')
        return redirect(url_for('main.home'))

    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        password_check_status = password_check(form, user)
        if user and password_check_status:
            login_user(user,
                       remember=form.remember_me.data,
                       duration=timedelta(seconds=1800))
            flash('You have successfully logged in.', 'success')

            return redirect(url_for('main.home'))
        elif not (user):
            flash('Incorrect Email Id.Please check.', 'danger')
        elif not (password_check_status):
            flash('Incorrect Password.Please check.', 'danger')

    return render_template('login.htm', title='login', form=form)
示例#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)
            flash('Login was successful.', 'success')
            next_page = request.args.get(
                'next'
            )  # args is a dictionary but accessing it with request['next'] will produce keyvalue error if key doesn't exist
            if next_page:
                return redirect(next_page)
            else:
                return redirect(url_for('main.home'))
            #shorthand
            #return redirect(next_page) if next_page else redirect(url_for('main.home'))
        else:
            flash('Login was not successful.', 'danger')
    return render_template('login.html', title='Login', form=form)
示例#29
0
def login():
    form = LoginForm()

    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()

        if (user is not None and user.check_password(form.password.data)):
            login_user(user)
            session.permanent = True

            flash('Login Successful!')

            next = request.args.get('next')

            if (next == None or not next[0] == '/'):
                next = url_for('core.index')

            return redirect(next)

        else:
            flash('Incorrect Username/Password!')
            return redirect(url_for('user.login'))

    return render_template('login.html', form=form)
示例#30
0
def login():
    form = LoginForm()

    email = form.email.data
    password = form.password.data

    if form.validate_on_submit():

        user = User.query.filter_by(email=email).first()

        if user is not None and user.check_password(password):

            login_user(user)
            flash('You have successfully log in', 'success')
            next = request.args.get('next')

            return redirect(url_for('users.account') or next)

        else:

            flash('Wrong combination of email/password', 'danger')
            return redirect(url_for('users.login'))

    return render_template('users/login.html', form=form)