示例#1
0
def login():

    if current_user.is_authenticated:
        return redirect(url_for('index'))

    form = LoginForm()

    if form.validate_on_submit():

        user = User.query.filter_by(username=form.username.data).first()        

        if user is None or not user.check_password(form.password.data):
            flash('Invalid username/password')
            return redirect(url_for('auth.login'))

        login_user(user, remember=form.remember_me.data)

        # if any, capture url with 'next' arg
        next_page = request.args.get('next')

        # if not 'next' redirect nonetheless to index
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('index')

        return redirect(next_page)
    
    return render_template('auth/login.html', title='Sign In', form=form)
示例#2
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))

    form = LoginForm()

    # form.validate_on_submit() returns True if all fields are valid, otherwise
    # form renders back to user
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()

        if user is None or not user.check_password(form.password.data):
            flash(_('Invalid username or password'))
            return redirect(url_for('auth.login'))

        # login_user comes from Flask-Login; sets current_user to user
        login_user(user, remember=form.remember_me.data)

        # Flask's request = data client sent
        next_page = request.args.get('next')

        # url_parse check ensures only relative redirect, protecting against
        # inserted URLs
        if not next_page or url_parse(next_page).netloc != '':
            # redirect URL /login?next=/<this_view>
            next_page = url_for('main.index')

        return redirect(next_page)
    return render_template('auth/login.html', title=_('Sign In'), 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 is not None and user.verify_password(form.password.data):
            login_user(user, form.remember_me.data)
            return redirect(request.args.get('next') or url_for('main.index'))
        flash('Invalid username or password.')
    return render_template('auth/login.html', form=form)
示例#4
0
def login():
    form = LoginForm(request.form)
    if form.validate_on_submit():
        flash(u'Tervetuloa %s!' % form.user.name)
        next = request.args.get('next')
        app_login.login_user(form.user)
        if not utils.is_safe_url(next):
            return abort(400)
        return redirect(next or url_for('index'))
    return render_template('auth/login.html', form=form)
示例#5
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(username=form.username.data).first()        
        if user is None or not user.check_password(form.password.data):
            flash("Invalid username or password")
            return redirect(url_for("auth.login"))
        login_user(user)
        return redirect(url_for('main.index'))
    return render_template('auth/login.html', form=form)
示例#6
0
def signin():

    if current_user.is_authenticated:
        return redirect(url_for("main.home"))

    login_form = LoginForm()

    if login_form.validate_on_submit():
        user_obj = User.query.filter_by(
            username=login_form.username.data).first()
        login_user(user_obj, remember=False)
        return redirect(url_for("main.home"))

    return render_template("signin.html", login_form=login_form)
示例#7
0
def auth_login():
    form = LoginForm(request.form)
    if request.method == "POST":
        if form.validate_on_submit():
            user = User.query.filter_by(username=form.username.data,
                                        password=form.password.data).first()
            if not user:
                return render_template(
                    "auth/login_form.html",
                    form=form,
                    error="Käyttäjänimi tai salasana on väärin!")
            login_user(user)
            return redirect(url_for("index"))
    return render_template("auth/login_form.html", form=form)
示例#8
0
def do_the_login():
    if current_user.is_authenticated:
        flash('You are already logged in')
        return redirect(url_for('main.display_books'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(user_email=form.email.data).first()
        if not user or not user.check_password(form.password.data):
            flash('Invalid Credentials, Please try again')
            return redirect(url_for('authentication.do_the_login'))
        login_user(user, form.stay_loggedin.data)
        return redirect(url_for('main.display_books'))

    return render_template('login.html', form=form)
示例#9
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.start'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(login=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            return render_template('login/login_error.html', form=form)
        login_user(user, remember=form.remember_me.data)
        db.session.commit()
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('main.start')
        return redirect(next_page)
    return render_template('login/login.html', form=form)
示例#10
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(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            flash(_('Invalid username or password'))
            return redirect(url_for('auth.login'))
        login_user(user, remember=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.index')
        return redirect(next_page)
    return render_template('login.html', title=_('Sign in'), form=form)
示例#11
0
def login():
    """loading the user from the database using the email provided with the form.
    If the password is valid, FlaskLogin’s login_user() function is invoked to record
    the user as logged in for the user session."""
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user and user.verify_password(form.password.data):
            login_user(user=user, remember=form.remember_me.data)
            next = request.args.get('next')
            if not is_safe_url(next):
                return abort(400)
            return redirect(next or url_for('main.index'))
        flash('Invalid Username or Password')
    return render_template('auth/login.html', form=form)
示例#12
0
def auth_register():
    if request.method == "GET":
        return render_template("auth/registerform.html", form=LoginForm())

    form = LoginForm(request.form)
    if form.validate_on_submit():
        user = User(form.username.data, form.password.data)

        db.session().add(user)
        db.session.commit()
        return redirect(url_for("auth_login"))

    return render_template(
        "auth/registerform.html",
        form=form,
        error="username and password must be between 1-20 characters")
示例#13
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/loginform.html", form=LoginForm())

    form = LoginForm(request.form)

    if form.validate_on_submit():
        user = AccountInformation.query.filter_by(
            email_address=form.email_address.data).first()
        if user and user.is_correct_password(form.password.data):
            login_user(user)
            return redirect(url_for("index"))
        else:
            form.email_address.errors.append("Wrong password or email address")
            render_template('auth/loginform.html', form=form)
    return render_template('auth/loginform.html', form=form)
示例#14
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(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            flash(_('Invalid username or password'))
            return redirect(url_for('auth.login'))
        login_user(user, remember=form.remember_me.data)
        # sets this user to current_user
        next_page = request.args.get('next')
        # flask_login sets next keyword
        if not next_page or url_parse(next_page).netloc != '':
            # .netloc determines if the URL is relative or absolute
            next_page = url_for('main.index')
        return redirect(next_page)
    return render_template('auth/login.html', title=_('Sign In'), form=form)
示例#15
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/loginform.html",
                               form=LoginForm(),
                               register_form=RegisterForm())

    form = LoginForm()
    if form.validate_on_submit():
        user = db.session.query(Account).filter_by(name=form.name.data).first()
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user)
            return redirect(url_for("campaigns_list"))

    return render_template("auth/loginform.html",
                           form=form,
                           register_form=RegisterForm(),
                           error="No such username or password")
示例#16
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/loginform.html", form=LoginForm())

    form = LoginForm(request.form)
    if not form.validate_on_submit():
        return render_template(
            "auth/loginform.html",
            form=form,
            error="username and password must be between 1-20 characters")
    user = User.query.filter_by(username=form.username.data,
                                password=form.password.data).first()
    if not user:
        return render_template("auth/loginform.html",
                               form=form,
                               error="No such username or password")

    login_user(user)
    return redirect(url_for("topics_index"))
示例#17
0
def login():
    if (current_user.is_authenticated):
        return redirect(url_for('hardware_signout.index'))
    form = LoginForm()
    if (form.validate_on_submit()):
        user = Users.query.filter_by(email=form.email.data).first()

        if (user is None or not user.check_password(form.password.data)):
            flash('Invalid username or password')
            return redirect(url_for('auth.login'))

        login_user(user, remember=form.remember_me.data)
        next_page = request.args.get('next')

        if (not next_page or url_parse(next_page).netloc != ''):
            next_page = url_for('hardware_signout.index')

        return redirect(next_page)

    return render_template('auth/login.html', form=form)
示例#18
0
def login():
    """
    Function to handle the rendering of the
    login form page, activating the authentication
    procedure upon form submission.
    :return: rendered page, upon successful login
    home page, upon failed login same page
    """
    if current_user.is_authenticated:
        return redirect(url_for('main_app.index'))
    form = LoginForm()
    will_remember = form.remember_me.data
    if form.validate_on_submit():
        login_success, user = auth_tools.process_login_request(form)
        if not login_success:
            return redirect(url_for('auth.login'))
        login_user(user, remember=will_remember)
        auth_tools.flash_successful_login(form)
        return redirect(url_for('main_app.index'))
    return render_template('login.html', title='Sign In', form=form)
示例#19
0
def login():

    form = LoginForm()
    if request.method == 'GET':
        render_template("auth/login.html", form=form)

    if request.method == 'POST':
        if form.validate_on_submit():
            u = Accounts.query.filter_by(email=form.email.data).first()
            if u.password != form.password.data:

                return render_template("auth/login.html", form=form)

            if any('DOCTOR' in s for s in Accounts.roles(form.email.data)):
                login_user(u)
                return redirect(url_for("doctor"))
            else:
                login_user(u)
                return redirect(url_for("index"))

    return render_template("auth/login.html", form=form)
示例#20
0
def auth_login():
    if request.method == "GET":
        return render_template("auth/loginform.html", form=LoginForm())

    form = LoginForm(request.form)

    if request.method == "POST" and not form.validate_on_submit():
        return render_template("auth/loginform.html", form=form)

    user = User.query.filter_by(
        username=form.username.data, password=form.password.data
    ).first()
    if not user:
        return render_template(
            "auth/loginform.html",
            form=form,
            error="No such username or password",
        )

    login_user(user)

    return redirect(url_for("index"))
def login():
    """
    Log-in page for registered administrators

    GET: Serve log-in page
    POST: Validate form and redirect admin to dashboard area
    """
    titleText = metaTags['login']['pageTitleDict']
    headerText = metaTags['login']['headerDict']

    if current_user.is_authenticated:
        return redirect(url_for('dashboard_bp.main'))

    form = LoginForm()
    redirectHoovering = 'login'

    if form.validate_on_submit() and request.method == 'POST':
        admin = Admin.query.filter_by(email=form.email.data).first()
        if admin and admin.check_password(password=form.password.data):

            admin.last_login = dt.utcnow()
            db.session.commit()

            login_user(admin)
            next_page = request.args.get('next')
            return redirect(next_page or url_for('dashboard_bp.main'))

        flash('Invalid user name or password', 'error')

    return render_template(
        "auth/login.html",
        form=form,
        titleText=titleText,
        headerText=headerText,
        redirectHoovering=redirectHoovering,
    )