Exemplo n.º 1
0
def login():
    """Log in a registered user by adding the user id to the session."""
    form = LoginForm(request.form)
    if request.method == "POST":
        if form.validate():
            username = request.form["username"]
            password = request.form["password"]
            db = get_db()
            error = None
            user = db.execute("SELECT * FROM user WHERE username = ?",
                              (username, )).fetchone()

            if user is None:
                error = "Incorrect username."
            elif not check_password_hash(user["password"], password):
                error = "Incorrect password."

            if error is None:
                # store the user id in a new session and return to the index
                session.clear()
                session["user_id"] = user["id"]
                return redirect(url_for("index"))

        if error is not None:
            flash(error)

    return render_template("auth/login.html", form=form)
Exemplo n.º 2
0
def login():
    # Redirect Logged In Users
    if session.get('logged_in'):
        return redirect('/user')

    error = None
    if request.method == 'GET':
        form = LoginForm(request.form)
        return render_template('forms/login.html', form=form)
    else:
        if 'name' in request.form and 'password' in request.form:
            User.query.all()
            user = User.query.filter_by(user_name=request.form['name']).first()

            if user is not None:
                if user.check_password(request.form['password']):
                    error = 'Password Matched'
                    login_user(user)
                    session['logged_in'] = True
                    session['user_name'] = user.user_name
                    session['user_id'] = user.id

                    flash('Login Successful')
                    return redirect('/user')
                else:
                    error = 'Login Failed'
            else:
                error = 'Login Failed'

            form = LoginForm(request.form)
            return render_template('forms/login.html', form=form, err=error)
        else:
            form = LoginForm(request.form)
            return render_template('forms/login.html', form=form, err=True)
Exemplo n.º 3
0
def login():
    form = LoginForm(request.form)
    if request.method == 'POST' and form.validate():
        username = request.form['username']
        password = request.form['password']
        db = get_db()
        error = None

        user = db.execute('SELECT * FROM user WHERE username=?',
                          (username, )).fetchone()

        if user is None:
            error = '用户名不正确'
        elif not check_password_hash(user['password'], password):
            error = '密码不正确'

        if error is None:
            session.clear()
            session['user_id'] = user['id']
            session.permanent = True
            return redirect(url_for('room.index'))

        flash(error)

    return render_template('auth/login.html', form=form)
Exemplo n.º 4
0
def login():
    form = LoginForm(request.form)
    if request.method == 'POST' and form.validate():
        user = User.select_by_email(form.email.data)
        # emailから取得したUserのパスワードとクライアントが入力したパスワードが一致するか
        if user and user.validate_password(form.password.data):
            login_user(user, remember=True)
            next = request.args.get('next')  # 次のURL
            if not next:
                next = url_for('app.welcome')
            return redirect(next)
    return render_template('login.html', form=form)
def login():
    form = LoginForm(request.form)
    if form.validate_on_submit():
        user, authenticated = User.authenticate(db.session.query, 
                form.email.data, form.password.data)
        if authenticated:
            session['user_id'] = user.id
            flash('You were logged in')
            return redirect(url_for('index'))
        else:
            flash('Invalid email or password')
    return render_template('login.html', form=form)
Exemplo n.º 6
0
def login():
    form = LoginForm(request.form)
    if form.validate_on_submit():
        user, authenticated = User.authenticate(db.session.query,
                                                form.email.data,
                                                form.password.data)
        if authenticated:
            session['user_id'] = user.id
            flash('You were logged in')
            return redirect(url_for('index'))
        else:
            flash('Invalid email or password')
    return render_template('login.html', form=form)
Exemplo n.º 7
0
def login():
    form = LoginForm(request.form)
    if request.method == 'POST' and form.validate():
        email = form.email.data
        password = form.password.data
        user = User.select_user_by_email(email)
        if user and user.validate_password(password):
            login_user(user)
            next = request.args.get('next')
            if not next:
                next = url_for('app.user_page')
            flash('ログインしました!')
            return redirect(next)
    return render_template('login.html', form=form)
Exemplo n.º 8
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('.home'))
    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('.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('.home')
        return redirect(next_page)
    return render_template('login.html', title='SIGN IN', form=form)
Exemplo n.º 9
0
def login():
    """Login."""
    error = None
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user:
            if check_password_hash(user.password, form.password.data):
                login_user(user, remember=form.remember.data)
                return redirect(url_for('show_events', current_user=current_user))
            else:
                error = "Invalid password"
        else:
            error = "Invalid username"
    return render_template('login.html', form=form, error=error)
Exemplo n.º 10
0
def login():
    form = LoginForm(request.form)
    if request.method == 'POST' and form.validate():
        user = User.select_user_by_email(form.email.data)
        if user and user.validate_password(form.password.data):
            login_user(user, remember=True)
            next = request.args.get('next')
            if not next:
                next = url_for('app.home')
            return redirect(next)
        elif not user:
            flash('This user does not exist.')
        elif not user.validate_password(form.password.data):
            flash('Your email address or password is not correct.')
    return render_template('login/login.html', form=form)
Exemplo n.º 11
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = LoginForm()
    if form.validate_on_submit():
        t_user = User.query.filter_by(username=form.username.data).first()
        if t_user and (t_user.pwd == form.password.data):
            login_user(t_user, remember=form.remember.data)
            flash(f'You have been logged in!', 'success')
            next_page = request.args.get('next')
            return redirect(next_page) if next_page\
                else redirect(url_for('home'))
        else:
            flash(f'Wrong credentials', 'danger')
    return render_template('login.html', title='Login Page', form=form)
Exemplo n.º 12
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        # Check if there are any emails with the same email the we've submitted
        user = User.query.filter_by(username=form.username.data).first()
        # If user exists and password is correct
        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'Hi there, {form.username.data}!', 'success')
            return redirect(next_page) if next_page else redirect(
                url_for('index'))
        else:
            flash("Incorrect username or password", 'danger')
    return render_template('login.html', title='Login', form=form)
Exemplo n.º 13
0
def login():
    form = LoginForm(request.form)

    if request.method == 'POST':

        username = form.username.data
        password = form.password.data
        db = get_db()
        error = None
        user = db.execute('SELECT * FROM user WHERE username = ?',
                          (username, )).fetchone()

        if user is None:
            error = 'Incorrect username/password.'
        elif not check_password_hash(user['password'], password):
            error = 'Incorrect username/password.'

        if error is None:
            session.clear()
            session['user_id'] = user['user_id']
            return redirect(url_for('index'))

        flash(error)

    return render_template('auth/login.html', form=form)
Exemplo n.º 14
0
def login():
    form = LoginForm(request.form)
    if request.method == 'POST' and form.validate():
        user = User.select_user_by_email(form.email.data)
        if user and user.is_active and user.validate_password(form.password.data):
            login_user(user, remember=True)
            next = request.args.get('next')
            if not next:
                next = url_for('app.home')
            return redirect(next)
        elif not user:
            flash('存在しないユーザーです')
        elif not user.is_active:
            flash('無効なユーザーです')
        elif not user.validate_password(form.password.data):
            flash('メールアドレスとパスワードの組み合わせが誤っています')
    return render_template('login.html', form=form)
Exemplo n.º 15
0
def login():

    # redirect logged in users
    # if g.user and g.user.is_authenticated:
    #    return redirect(url_for('.index'))
    # return form

    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        if user is None:
            flash('Invalid Username')
        elif not user.check_password(form.password.data):
            flash('Invalid Password')
        else:
            return login_user(user, form)

    return render_template('login.html', title='GIBSON', form=form)
Exemplo n.º 16
0
def login():
    if (current_user.is_authenticated):
        return redirect(url_for('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, form.remember.data)
            next_page = request.args.get('next')
            if next_page:
                return redirect(next_page)
            else:
                return redirect(url_for('home'))
        else:
            flash("login unsuccessful! please check email and password",
                  'danger')

    return render_template("login.html", title='Login', form=form)
Exemplo n.º 17
0
def login():
    # redirect to the home page if the user is already logged in
    if (current_user.is_authenticated):
        return redirect(url_for('routes.home'))
    form = LoginForm(request.form)
    # If the user is trying to log in
    if (form.validate_on_submit()):
        print('Login request')
        # Search for the username in the database
        user = User.query.filter_by(username=form.username.data).first()
        # If the user is not found or the password is incorrect
        if (user is None or not user.check_password(form.password.data)):
            flash('Invalid user information')
            return redirect(url_for('routes.login'))
        # Log in the user (Only reaches here if the information is valid)
        login_user(user)
        return redirect(url_for('routes.home'))
    # If the user is opening the webpage
    else:
        return render_template("login.html", form=form)
Exemplo n.º 18
0
def login():
    if request.method == 'POST':
        form = LoginForm()
        a = User.query.filter_by(username=form.username.data,
                                 password=form.password.data).first()
        b = str(a)
        if a is None:
            session['log_in'] = False
            return redirect(url_for('login'))
        elif b == '<User \'admin\'>':
            return render_template('afterlogin.html')
        return render_template('lala.html')
    return render_template('login.html')
Exemplo n.º 19
0
def login():
    if request.method == 'POST':
        form = LoginForm()
    #if form.validate_on_submit():
        #id = db.query(User.id).filter_by(username=form.username.data,password=form.password.data).count()
        #ro = db.query(role).filter_by(username=form.username.data,password=form.password.data).first()
        a = User.query.filter_by(username=form.username.data,password=form.password.data)
        if a is None:
            session['log_in'] = False
            return redirect(url_for('login'))
         #elif ro == 1:
            #return render_template('haha.html')'''
        return render_template('lala.html')
    return render_template('login.html')
Exemplo n.º 20
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash(f'Login requested for user { form.username.data }, remember_me {form.remember_me.data}')
        return redirect(url_for('homepage'))
    return render_template('login.html', title = 'Login', form=form)
Exemplo n.º 21
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash(f"{form.username.data} Successfully logged in")
        return redirect(url_for('home'))
    return render_template('login.html', form=form)
Exemplo n.º 22
0
    def login(self, request):
        """
        Logs the user into the system given a username and password.
        :param request: The request is passed through so we can access the form
                        contained inside it.
        :return: A view based on whether the login was sucessfull (redirecting
                to /dashboard or back to the login screen if the login was
                unsuccesful)
        """
        if current_user.is_authenticated:
            return redirect("/dashboard")

        # Try to load the available schemes
        try:
            scheme_options = self._get_scheme()
        except Exception as e:
            flash("Error logging in, please check the data that was entered")

        login_form = LoginForm(request.form)
        login_form.scheme_id.choices = scheme_options

        try:
            if request.method == "POST":  # If the user is trying to login
                if login_form.validate_on_submit():  # If the form is validated
                    scheme_id = login_form.scheme_id.data
                    k_number = login_form.k_number.data

                    if not self._student_handler.user_exist(
                            scheme_id, k_number):
                        flash(
                            "This k_number and password combination does not exist in our database."
                        )
                        return redirect("/login")

                    try:
                        user = Student(scheme_id, k_number)
                    except:
                        flash('You must first confirm your email address')
                        return redirect("/login")

                    # if user exists in db then a password hash was successfully retrieved
                    if user.password:
                        # check if he is authorised
                        if check_password_hash(user.password,
                                               login_form.password.data):
                            # redirect to profile page, where he must insert his preferences
                            login_user(user, remember=False)
                            return redirect("/dashboard")
                        else:
                            flash('The password you entered is incorrect')
                            return redirect("/login")
                    else:  # The user is loading the page
                        return redirect("/login")
                else:
                    flash(
                        "Error logging in, please check the data that was entered"
                    )
                    return render_template("login.html", login_form=login_form)

            return render_template("login.html", login_form=login_form)
        except Exception as e:
            self._log.exception(
                "Oops... Something went wrong. The data entered could not be valid, try again."
            )
            raise abort(500)