Exemple #1
0
def login():
    form = LoginForm()

    userList = getUserList()

    if request.method == 'POST':
        if not form.validate():
            return render_template('login.html', form=form, is_exist='')
        else:
            is_exist = False
            for user in userList:
                if user[0] == request.form['user_email']:
                    is_exist = True
                    break

            if is_exist:
                session['user_email'] = request.form['user_email']
                response = make_response(redirect(url_for('index')))
                expires = datetime.now()
                expires += timedelta(weeks=10)
                response.set_cookie('user_email', request.form['user_email'], expires=expires)
                return response
            else:
                return render_template('login.html', form=form, is_exist='User with current email does not exists.')
    else:
        if 'user_email' in session:
            return render_template('login.html', form=form, is_exist='')
        else:
            user_email = request.cookies.get('user_email')
            session['user_email'] = user_email
            if user_email is None:
                return render_template('login.html', form=form, is_exist='')
            else:
                return redirect(url_for('index'))
Exemple #2
0
    def post(self):
        form = LoginForm(request.form)
        context = {
            'title': 'Login',
            'form': form,
            'user': session.get('user', None)
        }

        if form.validate():
            current_user = User.query.filter_by(email=form.email.data).first()
            if not current_user:
                flash('No user found with this email.', 'danger')

            try:
                if current_user.password == helper.create_password_hash(
                        form.password.data):
                    flash('Sucessfully logged in!', 'warning')
                    session['user'] = {
                        'id': current_user.id,
                        'name': current_user.name,
                        'email': current_user.email
                    }
                    return redirect(url_for('home'))
                else:
                    flash(
                        'Either of the username or the password is incorrect.',
                        'danger')
            except:
                pass

        return render_template('login.html', **context)
Exemple #3
0
    def post(self):
        if self.request.auth_token.get('user', None):
            self.write({'detail': 'You are already logged'})
            return None

        self.is_valid_json(raise_exception=True)
        form = LoginForm(data=self.get_json_data())
        if not form.validate():
            self.write_error(HTTPStatus.BAD_REQUEST,
                             message=self.INVALID_CREDENTIALS)
            return None

        credentials = form.data
        user = yield self.settings['db'].users.find_one(
            {'username': credentials['username']})

        if not user:
            self.write_error(HTTPStatus.UNAUTHORIZED,
                             message=self.INVALID_CREDENTIALS)
            return None

        if (yield utils.auth.check_password(credentials['password'],
                                            user['password'].decode())):
            yield self.settings['db'].tokens.update(
                {
                    'key': self.request.auth_token['key'],
                }, {'$set': {
                    'user': user['_id']
                }})
            self.write({'detail': 'You successfully logged'})
        else:
            self.write_error(HTTPStatus.UNAUTHORIZED,
                             message=self.INVALID_CREDENTIALS)
Exemple #4
0
def login():
    login_form = LoginForm()

    isolation_level("READ_COMMITTED")
    userList = getUserList()

    if request.method == 'POST':
        is_exist = False
        correct_pass = False
        for user in userList:
            if user[0] == request.form['login']:
                is_exist = True
                if user[2] == request.form['password']:
                    correct_pass = True
                    break

        if not is_exist:
            session.pop('login', None)
            return render_template(
                'login.html',
                form=login_form,
                message='User with current login does not exists.')
        elif not correct_pass:
            session.pop('login', None)
            return render_template(
                'login.html',
                form=login_form,
                message=
                'You entered wrong passsword. Forgot your password? Try to remember!!!'
            )
        else:
            if login_form.validate():
                session['login'] = request.form['login']
                response = make_response(redirect(url_for('index')))
                expires = datetime.now()
                expires += timedelta(weeks=10)
                response.set_cookie('login',
                                    request.form['login'],
                                    expires=expires)
                return response
            else:
                session.pop('login', None)
                return render_template('login.html', form=login_form)
    else:
        if 'login' in session:
            return render_template('login.html', form=login_form)
        else:
            login = request.cookies.get('login')
            session['login'] = login
            if login is None:
                return render_template('login.html', form=login_form)
            else:
                return redirect(url_for('index'))
Exemple #5
0
def login():
    form = LoginForm(request.form)
    if request.method == 'POST':
        if form.validate():
            user = m.user.User.query.filter_by(username=form.username.data).first()
            if user and check_password_hash(user.password, form.password.data):
                user.set_authenticated()
                login_user(user)
                flash('{} {}'.format(_('Welcome'), user.fullname))
                return redirect(url_for('home.hello'))
        flash(_('Wrong username or password'), 'error-message')

    return render_template('login.html', form=form)
Exemple #6
0
def login():
    form = LoginForm()

    if request.method == 'GET':
        if 'user' in session and getcookie() is None:
            response = make_response(redirect('/index'))
            expires = datetime.now()
            expires += timedelta(days=60)
            response.set_cookie('userLogin', session['user'], expires=expires)
            return response
        if session.get('user') is False and getcookie() is not None:
            session['user'] = getcookie()
        login = getcookie()
        if login is None and 'user' not in session:
            return render_template('login.html', form=form)
        response = make_response(redirect('/index'))
        return response

    if request.method == 'POST':
        if not form.validate():
            flash('All fields are required.')
            return render_template('login.html', form=form)
        else:
            login = LOGIN()
            login.__enter__()
            res = login.login_user(request.form['login'],
                                   request.form['password'])
            if res == 'TRUE':
                session['user'] = request.form['login']
                print(session)
                response = make_response(redirect('/index'))
                expires = datetime.now()
                expires += timedelta(days=60)
                response.set_cookie('userLogin',
                                    request.form['login'],
                                    expires=expires)
                return response
            else:
                flash('Invalid login/password')
                render_template('login.html', form=form)
    return render_template('login.html', form=form)
Exemple #7
0
def login():
    form = LoginForm(request.form)

    if request.method == 'POST' and form.validate():
        username = form.username.data
        password = form.password.data
        cur = mysql.connection.cursor()
        result = cur.execute("SELECT * FROM users WHERE username = %s",
                             [username])
        if result > 0:
            data = cur.fetchone()
            db_password = data['password']
            if sha256_crypt.verify(password, db_password):
                session['logged_in'] = True
                session['username'] = username

                flash('You are now loggedin', 'success')
                return redirect(url_for('index'))
            else:
                flash('Your password is incorrect', 'danger')
        else:
            flash('No user found with these details', 'danger')
    return render_template('login.html', form=form)