Пример #1
0
def login():
    if current_user.is_authenticated:
        return redirect(request.args.get('next', '/'))
    form = LoginForm()
    if 'last_logins' not in flask_session:
        flask_session['last_logins'] = TEMPLATE_REMEMBER_USERS
    if form.validate_on_submit():
        login = form.login.data.strip()
        password = form.password.data.strip()
        user = session.query(User).filter(User.login == login).first()
        if user and user.check_password(password):
            if login in flask_session['last_logins']:
                flask_session['last_logins'].remove(login)
            flask_session['last_logins'].append(login)
            flask_session['last_logins'] = flask_session['last_logins'][
                -COUNT_SAVED_LOGINS:]
            flask_session.modified = True
            login_user(user, remember=REMEMBER_USER)
            return redirect(request.args.get('next', '/'))
        return render_template('login.html',
                               message="Неправильный логин или пароль",
                               form=form)
    login = request.args.get('login', '')
    form.login.data = login
    last_logins = flask_session['last_logins'][::-1]
    return render_template('login.html',
                           form=form,
                           login=login,
                           last_logins=last_logins)
Пример #2
0
def login():
    if not session.get('logged_in'):
        loginForm = LoginForm(request.form)
        registrationForm = RegistrationForm(request.form)

        if request.method == 'POST':
            username = request.form['username'].lower()
            password = request.form['password']
            if loginForm.validate():
                if credentials_valid(username, password):
                    session['logged_in'] = True
                    session['username'] = username
                    return jsonify({
                        "message": "success",
                        "status": 200,
                        "username": username,
                    })
                    return jsonify({
                        "message": "success",
                        "status": 200,
                    })
                return jsonify({
                    "message": "invalid username or password",
                    "status": 200,
                })
            return jsonify({
                "message": "both fields required",
                "status": 200,
            })
        return render_template('landing.html', form=registrationForm)
    return redirect(url_for('home.home'))
Пример #3
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('web_interface.projects_view'))
    form = LoginForm()
    if request.method == 'POST':
        if form.validate_on_submit():
            db_sess = db_session.create_session()
            email = request.form.get('email')
            password = request.form.get('password')
            user = db_sess.query(User).filter_by(email=email).first()
            if user is None or not check_password_hash(user.hashed_password,
                                                       password):
                return render_template(
                    "form.html",
                    form=form,
                    action=url_for('auth.login', next=request.endpoint),
                    title=lazy_gettext("Login"),
                    error=lazy_gettext("Wrong credentials data"))
            login_user(user, remember=True)
            return redirect_dest("/projects")
    k = {}
    if request.endpoint != "auth.login":
        k["next"] = request.endpoint
    return render_template("form.html",
                           form=form,
                           action=url_for('auth.login', **k),
                           title=lazy_gettext("Login"))
Пример #4
0
def login():
    form = LoginForm(request.form)
    if not form.validate_on_submit():
        form = LoginForm()
        return render_template("login.html", form=form, msg="Form not valid")
    
    user = dict()
    # data and make sure to strip any accidental blank spaces.
    # Courteous and simple
    user['username'] = request.form['username'].lstrip().rstrip()
    user['password'] = request.form['password'].lstrip().rstrip()

    # if user is valid, log him in
    # of course anyone could access that page but sessions are not in the scope of this
    # assignment

    if user['username'] not in _TRIES:
        _TRIES[user['username']] = {'timestamp': datetime.datetime.now(), 'tries': 0}

    if _TRIES[user['username']]['timestamp'] < (datetime.datetime.now()-datetime.timedelta(minutes=5)):
        _TRIES[user['username']]['tries'] = 0
        _TRIES[user['username']]['timestamp'] = datetime.datetime.now()

    if _TRIES[user['username']]['tries'] >= 30:
        return render_template("login.html", msg="Too many attempts in past 5 minutes, "
                                                 "try again later", form=form)

    if check_user(user):
        _TRIES[user['username']]['tries'] = 0
        session['username'] = request.form['username'].lstrip().rstrip()
        return redirect(url_for(".logged_in_page"))
    else:
        _TRIES[user['username']]['tries'] += 1
        return render_template("login.html", msg="Invalid user name or password", form=form)
Пример #5
0
def login():
    form = LoginForm(request.form)
    if request.method == "POST" and form.validate():
        username = form.username.data
        password = form.password.data

        result = get_user(username)
        if result:
            if sha256_crypt.verify(password, result.password):
                flash("Giriş İşlemi Başarılı", "success")

                session["logged_in"] = True
                session["id"] = result.id
                session["username"] = username
                session["name_lastname"] = f"{result.name} {result.last_name}"

                return redirect(url_for("index"))
            else:
                flash("Girilen Şifre Hatalı", "danger")
                return redirect(url_for("login"))
        else:
            flash("Kullanıcı Adı ve Şifre Hatalı", "danger")
            return redirect(url_for("login"))
    else:
        return render_template("login.html", form=form)
Пример #6
0
    def post(self, request):
        login_form = LoginForm(request.POST)

        if not login_form.is_valid():
            return render(request, self.template_name, {"form": login_form})

        login = login_form.cleaned_data['username']

        conn = cx_Oracle.connect(dbset.URL)

        cursor = conn.cursor()

        cursor.execute("SELECT api.get_user_id('{}') FROM DUAL".format(login))
        id = cursor.fetchone()[0]

        cursor.execute("SELECT api.is_admin('{}') FROM DUAL".format(login))
        is_admin = cursor.fetchone()[0]

        cursor.close()
        conn.close()

        request.session['user_id'] = id
        request.session['is_admin'] = is_admin
        request.session['username'] = login

        return redirect(self.success_url)
Пример #7
0
def login_page():
    """"Login using email and password
    Check correctness login and password
    After that, redirect to home(/) """
    # login form
    form = LoginForm()

    # random background image 1 of 5
    bg_index = randint(0, 4)

    # submit button
    if form.validate_on_submit():
        db_sess = db_session.create_session()
        # user search
        user = db_sess.query(UserLogin).filter(UserLogin.email == form.email.data).first()
        # check password
        if user and user.check_password(form.password.data):
            login_user(user, remember=form.remember_me.data)
            # go home
            return redirect("/profile")

        # user error
        return render_template('login.html',
                               message="Неправильный логин или пароль",
                               form=form,
                               bg_index=bg_index)

    # return template
    return render_template('login.html', title='Авторизация', form=form, bg_index=bg_index)
Пример #8
0
def login():
    def check_login(form):
        session = create_session()
        if not session.query(Users).filter(
                Users.email == form.email.data).first():
            return 'Нет такого email'
        else:
            return 'Неправильный пароль'

    if current_user.is_authenticated:
        return redirect('/')

    form = LoginForm()
    form.hidden_tag()

    if form.validate_on_submit():
        session = create_session()

        user = session.query(Users).filter(
            Users.email == form.email.data).first()
        if user and check_password(user.password, form.password.data):
            login_user(user, remember=form.remember_me.data)
            return redirect('/')

        return render_template('login_form.html',
                               form=form,
                               message=check_login(form))

    return render_template('login_form.html', form=form)
Пример #9
0
def login():
    form = LoginForm(request.form)
    if form.validate():
        user = User.objects.get(email=request.form['email'])
        password = request.form['password']
        if isinstance(password, list):
            password = ''.join([str(i) for i in password])

        logger.debug('user: {0} password (actual): {1} password (attempted): {2} length diff: {3}'.format(user.email, user.hashed_password, password, len(user.hashed_password) - len(password)))

        #logger.debug('logging in {0} with pw {1}'.format(user.email, password))

        if user.try_login(request.form['password']):
            logger.debug('logging in user: {0}'.format(user.email))
            print 'login_user', login_user(user)

            flask.flash('Logged in successfully.')

            # user is now logged in so a redirect will suffice
            return redirect('home')
        else:
            logger.debug('invalid user creds for {0}'.format(user.email))
    else:
        logger.error('invalid form')
    return render_template('index.html', form=form)
Пример #10
0
def signin():
    form = LoginForm()
    if form.validate_on_submit():
        if form.email.data == '*****@*****.**' and form.password.data == 'adminpwd':
            return redirect(url_for('watermark'))

    return render_template('signin.html', form=form)
Пример #11
0
def login():
    # Determine initial welcome message (bonus point)
    register_redirect = request.args.get('register_redirect')
    if register_redirect is not None:
        login_message = register_redirect
    else:
        login_message = LOGIN_MESSAGE
    # Main logic
    login_form = LoginForm(request.form)
    if request.method == 'POST':
        if login_form.validate():
            username = request.form['username']
            password = request.form['password']
            validated_user = login_validation(username, password)
            if validated_user:
                login_user(validated_user)
                return redirect(url_for('dashboard_page.dashboard'))
            else:
                return render_template(
                    'login.html',
                    form=login_form,
                    error_message=LOGIN_FAILURE,
                )
        else:
            return render_template(
                'login.html',
                form=login_form,
                error_message=FORM_INVALID,
            )
    else:
        return render_template(
            'login.html',
            form=login_form,
            register_redirect=login_message,
        )
Пример #12
0
def login():
    # login form
    form = LoginForm()

    # submit button
    if form.validate_on_submit():
        db_sess = db_session.create_session()
        # поиск пользователя в базе данных
        sotrudnik_inf = db_sess.query(User).filter(User.email == form.email.data,
                                                   User.status == 'Сотрудник').first()
        potreb_inf = db_sess.query(User).filter(User.email == form.email.data,
                                                User.status == 'Потребитель').first()
        # если пользователь сотрудник и пороль совпадает, отправляет в лк сотрудника
        if sotrudnik_inf and sotrudnik_inf.check_password(form.password.data):
            login_user(sotrudnik_inf)
            # go home
            return redirect("/sotrudnik")
        # если пользователь потребитель и пороль совпадает, отправляет в лк потребителя
        if potreb_inf and potreb_inf.check_password(form.password.data):
            login_user(potreb_inf)
            # go home
            return redirect("/potreb")
        # user error
        return render_template('login.html',
                               message="Неправильный логин или пароль",
                               form=form)

    # return template
    return render_template('login.html', form=form)
Пример #13
0
def api_login():
    if not session.get('logged_in'):
        loginForm = LoginForm(request.form)

        if request.method == 'POST':
            print("LOGIN request.data", request.data)
            print("LOGIN is_json", request.is_json)
            if "username" in request.form:

                username = request.form['username'].lower()
                password = request.form['password']

                if loginForm.validate():
                    if credentials_valid(username, password):
                        session['logged_in'] = True
                        session['username'] = username
                        return jsonify({
                            "message": "success",
                            "status": 200,
                            "username": username,
                            "source": "api",
                            "isAuthenticated": True
                        })
                    return json.dumps({'status': 'Invalid user/pass'})

            elif request.is_json is True:
                json_data = request.get_json()
                username = json_data["username"]
                password = json_data["password"]
                if credentials_valid(username, password):
                    session['logged_in'] = True
                    session['username'] = username
                    # return json.dumps({'status': 'success', "username": username, "source": "api"})
                    return jsonify({
                        "message": "success",
                        "status": 200,
                        "source": "api",
                        "isAuthenticated": True
                    })
                return jsonify({
                    "message": "invalid username or password",
                    "status": 200,
                    "isAuthenticated": False
                })
            return jsonify({
                "message": "both field required",
                "status": 200,
                "isAuthenticated": False
            })
    user = get_user()
    return jsonify({
                    "message": "success",
                    "status": 200,
                    "source": "api",
                    "isAuthenticated": True
                    })
Пример #14
0
def login():
    login_form = LoginForm()
    if login_form.validate_on_submit():
        users = User.query.filter_by(name=login_form.name.data).all()
        if len(users) > 0 and compare_password(login_form.password.data, users[0].password_hash, users[0].salt):
            login_user(users[0])
            return redirect(url_for('dashboard'))
    else:
        print('Not Validated')
    return render_template('login.html', form=login_form)
Пример #15
0
def login():
    loggedInUser = getLoggedUser(getUserSessionId(request))
    if loggedInUser != None:
        return redirect('/')

    form = LoginForm()

    if request.method == 'POST':
        if not form.validate():
            return render_template('login_form.html',
                                   isUserLoggedIn=False,
                                   form=form,
                                   form_name="Login",
                                   action="login",
                                   method='POST')
        else:
            username = form.username.data
            password_hash = getPasswordHash(form.password.data)

            db = PostgresDb()

            response = db.sqlalchemy_session.query(Users).filter(
                Users.username == username).filter(
                    Users.password_hash == password_hash).all()

            if len(response) != 1:
                return render_template('login_form.html',
                                       isUserLoggedIn=False,
                                       form=form,
                                       form_name="Login",
                                       action="login",
                                       method='POST')

            user_id = response[0].user_id

            new_uuid = str(uuid.uuid4())
            new_session = UserSessions(user_id=user_id, session_id=new_uuid)

            db.sqlalchemy_session.add(new_session)
            try:
                db.sqlalchemy_session.commit()
            except DatabaseError as e:
                db.sqlalchemy_session.rollback()
                print(e)

            response = make_response(redirect('/'))
            response.set_cookie(session_id_key, new_uuid)
            return response

    return render_template('login_form.html',
                           isUserLoggedIn=False,
                           form=form,
                           form_name="Login",
                           action="login",
                           method='POST')
Пример #16
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = get_user_by_email(form.email.data)
        if user and user.check_password(form.password.data):
            login_user(user, remember=form.remember_me.data)
            return redirect('/')
        return render_template('login.html',
                               message="Wrong login or password",
                               form=form)
    return render_template('login.html', title='Authorization', form=form)
Пример #17
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        if not db_ops.checklogin(form.username.data, form.password.data,
                                 form.remember.data, login_user, session,
                                 sess):
            return render_template('login.html',
                                   form=form,
                                   error='Invalid username or password')
        return redirect(url_for('upload'))
    return render_template('login.html', form=form)
Пример #18
0
 def post(self):
     form = LoginForm()
     if form.validate_on_submit():
         user = User.query.filter_by(username=form.username.data).first()
         if user is None:
             return redirect(url_for('login'))
         elif check_password_hash(user.password, form.password.data):
             session['username'] = user.username
             print("Logged in")
             return redirect(url_for('index'))
         else:
             return redirect(url_for('login'))
Пример #19
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        db_sess = db_session.create_session()
        user = db_sess.query(User).filter(User.email == form.email.data).first()
        if user and user.check_password(form.password.data):
            login_user(user, remember=form.remember_me.data)
            return redirect("/")
        return render_template('login.html',
                               message="Неправильный логин или пароль",
                               form=form)
    return render_template('login.html', title='Авторизация', form=form)
Пример #20
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter(
            and_(User.username == form.username.data,
                 User.password == hashlib.sha1(
                     form.password.data).hexdigest())).first()
        if user:
            login_user(user=user, remember=form.remember_me.data)
            return redirect('/panel')

    return render_template('login.html', form=form)
Пример #21
0
def login():
    form = LoginForm()

    if form.validate_on_submit():  # POST
        user = server.get_user_by_name(form.name.data)
        if user and user.check_password(form.password.data):
            login_user(user)
            next_uri = request.args.get("next") or url_for("welcome")
            return redirect(next_uri)

    # GET
    return render_template("login.html", form=form)
Пример #22
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = LoginForm()
    if form.validate_on_submit():
        if not user_service.exists_by_name(form.username.data):
            flash('Nama pengguna tidak ditemukan')
        if not user_service.check_password(form.username.data, form.password.data):
            flash('Kata sandi yang dimasukkan salah')
        user = user_service.get_user_by_username(form.username.data)
        login_user(user)
        return redirect(url_for('index'))
    return render_template('login.html', login_form=form)
Пример #23
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        db_sess = db_session.create_session()
        user = db_sess.query(User).filter(
            User.email == form.email.data).first()
        if user and user.check_password(form.password.data):
            login_user(user, remember=form.remember_me.data)
            return redirect("/")
        return render_template('login2.html',
                               message="Wrong login or password",
                               form=form)
    return render_template('login2.html', title='Authorization', form=form)
Пример #24
0
def login():
    ava = stay_ava()
    form = LoginForm()
    params = return_files(ava=ava, form=form)
    if form.validate_on_submit():
        db_sess = db_session.create_session()
        user = db_sess.query(User).filter(User.email == form.email.data).first()
        if user and user.check_password(form.password.data):
            login_user(user, remember=form.remember_me.data)
            return redirect("/")
        return render_template('login.html',
                               message="Неправильный логин или пароль",
                               **params)
    return render_template('login.html', **params)
Пример #25
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        db_sess = db_session.create_session()
        user = db_sess.query(Users).filter(
            Users.login == form.login.data).first()
        if user and user.check_password(form.password.data):
            login_user(user, remember=form.is_remember_me.data)
            return redirect("/")
        return render_template('login.html',
                               message='Неверный логин или пароль!',
                               form=form,
                               title='Вход')
    return render_template('login.html', title='Вход', form=form)
Пример #26
0
def signin():
    form = LoginForm()
    if form.validate_on_submit():
        flag = 0
        for user in db.session.query(Users).all():
            password_hash = user.password
            if form.email.data == user.email and check_password_hash(
                    password_hash, form.password.data):
                flag = 1
                login_user(user)
                return redirect(url_for('index'))
        if flag == 0:
            flash("邮箱或密码错误,请重新登录!")
            return redirect(url_for('signin'))
    return render_template('signin.html', form=form)
Пример #27
0
def login():

    form = LoginForm()

    if get_current_user() is None:
        error = None

        db = MongoInit().initialize()
        
        if request.method == 'POST':            
            user = UserService(db).load_user_by_login(request.form['login'])
            
            if user is None:
                error = 'Invalid username or password'
            elif user.password != request.form['password']:
                error = 'Invalid username or password'
            else:
                login_user(user)
                set_current_user(user)
                return redirect(url_for('index'))

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

    return redirect(url_for('index'))
Пример #28
0
def login():
    """Router for login page."""
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = LoginForm()
    if form.validate_on_submit():
        user = Users.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('home'))
        else:
            flash('Ошибка! Проверьте электронную почту или пароль.', 'danger')
    return render_template('login.html', title='Вход', form=form)
Пример #29
0
def get_main_page(request):
    """pokaż stronę główną z formularzem logowania"""
    if 'user_id' in request.session:
        return HttpResponseRedirect("/me")

    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            # do sprawdzania czy zalogowany
            request.session['user_id'] = form.cleaned_data['id']
            request.session['user_name'] = form.cleaned_data['name']  # login
            return HttpResponseRedirect("/me")
    else:
        form = LoginForm()
    # jak formularz niepoprawny to go też zwraca, bo tam jest wyjęty, i dane
    # są wpisane jakie były!
    return render(request, 'main_page.html', {'form': form})
Пример #30
0
def render_login_page():
    login_form = LoginForm()
    if request.method == 'POST' and login_form.validate_on_submit():
        login = login_form.email.data
        password = login_form.password.data
        remember = login_form.remember.data

        user_service = UserService(current_app)
        registered_user = user_service.get_by_login(login)
        if registered_user is not None:
            if user_service.check_password_hash(registered_user.password,
                                                password):
                login_user(registered_user, remember=remember)
                return redirect('/')

    # return render_template("user/login.html", form=login_form)
    return (WebSiteHtmlView("main_blocks/main_template.html").set_title(
        'Вход на сайт').set_content('user/login.html').render(form=login_form))
def login():
    form = LoginForm()
    if form.validate_on_submit():
        procced_user_fio = validation_user_fio(form.username.data)
        procced_user_snils = validation_user_snils(form.password.data)
        if procced_user_fio and procced_user_snils:
            if verification(procced_user_fio, procced_user_snils):
                return redirect('/home')
            return render_template("login.html",
                                   message="Неверный логин или пароль",
                                   form=form)
        return render_template("login.html",
                               message="Неверный логин или пароль",
                               form=form)
    return render_template(
        "login.html",
        title='Электронная регистратура Воронежской области',
        form=form)
Пример #32
0
def login():
    """Страница входа в аккаунт пользователя."""
    if current_user.is_authenticated:
        return redirect('/logout')
    form = LoginForm()
    if form.validate_on_submit():
        session = db_session.create_session()
        user = session.query(User).filter(
            User.login == form.login.data).first()
        if user and user.check_password(form.password.data):
            login_user(user, remember=form.remember_me.data)

            next_url = request.args.get('next')
            return redirect(next_url or '/news')
        return render_template('login.html',
                               title='Авторизация',
                               message='Неправильный логин или пароль',
                               form=form)
    return render_template('login.html', title='Авторизация', form=form)
Пример #33
0
def login():
    LOGGER.info("Entering Login")

    form = LoginForm()

    if form.validate_on_submit():
        user_name = form.user_name.data
        user_password = form.user_password.data

        if User().already_exists(user_name, user_password):
            user = User().find_one_user(user_name, user_password)
            session['userId'] = user['id']
            print "******* Session user id : " + str(session['userId'])
            return render_template('user.html', title=MAIN_TITLE)

        else:
            error = unicode("Unknow user, please retry")
            return render_template('index.html', title=MAIN_TITLE, form=SignInForm(), error=error)

    else:
        return render_template('login.html', title=MAIN_TITLE, form=LoginForm())