Exemple #1
0
def signin():
    form = LoginForm()
    if current_user.is_authenticated:
        return redirect(url_for('home.index'))

    if form.validate_on_submit():
        # Check if such a user exist
        user = User.query.filter_by(username=form.username.data).first()
        # If the username doesn't exist or the password is wrong. checkPassword is a function defined in my User models class.
        if user is None or not user.checkPassword(form.password.data):
            flash('Invalid username or password!', 'error')
            return redirect(url_for('login.signin'))
        # If all is good, log the user in.
        flash("Logged in! Welcome!")
        # Logs in the user. user in this case refers to the user object created by the SQL query. Remember me is handled via cookies.
        login_user(user, remember=form.rememberMe.data)
        # In the URL exists a get parameter that has the route to be redirected to.
        # For example, if the user were to access /upload without logging in; next=upload would be in the URL
        next_page = request.args.get('next')
        # If there is no 'next' get parameter or if its network location part is somehow empty, redirect to index
        # <scheme>://<netloc>/<path>;<params>?<query>#<fragment> is the format for a URL
        # 192.168.1.100/home The IP address is your netloc. This is done to determine if the URL is relative or absolute, for security.
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('index')
        return redirect(next_page)
    return render_template('login.html', form=form)
Exemple #2
0
def login():
    """The screen to log the user into the system."""

    # Redirect the user if already logged in
    if current_user.is_authenticated:
        # Send admins and non-admins to different pages
        if current_user.admin:
            return redirect(url_for(default_admin_page))
        else:
            return redirect(url_for(default_user_page))
    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'))
        login_user(user)
        current_app.logger.info(f"Logged in {user}")
        # If the user was redirected here, send the user back to the original page
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            # If no next page given, default to these pages
            if user.admin:
                next_page = url_for(default_admin_page)
            else:
                next_page = url_for(default_user_page)
        return redirect(next_page)
    nav_bar_title = "Login"
    return render_template('login/login.html',
                           title='Sign in',
                           form=form,
                           nav_bar_title=nav_bar_title)
Exemple #3
0
def login():
    loginForm = LoginForm()

    if loginForm.validate_on_submit():
        print(loginForm.username.data)
        print(loginForm.password.data)
        if loginForm.remember_me.data == 1:
            print('ok')
        else:
            print('no')
    else:
        return render_template('404.html')

    return render_template('login/login.html', loginForm=loginForm)
def recuperarAlterar():
    forms = LoginForm()
    if forms.validate_on_submit():
        email = User.query.filter_by(email=forms.email.data).first()
        if email is not None:
            email.senha = generate_password_hash(forms.senha.data)
            db.session.commit()
            # print(email.senha, email, email.email, forms.senha.data)
            flash("Senha alterada com sucesso!!!", "success")
            return redirect(url_for('form.index'))
        else:
            flash("Erro ao alterar a senha", "warning")
            return redirect(url_for("form.index"))
    return render_template('recuperarAlterar.html', form=forms)
def index():
    forms = LoginForm()
    if forms.validate_on_submit():
        print(forms.email.data, forms.senha.data)
        user = User.query.filter_by(email=forms.email.data).first()
        if user is None or not user.verifica_senha(forms.senha.data):
            flash("Verifique email ou senha!!!", 'danger')
            return redirect(url_for('.index'))

        print(user.nome)
        login_user(user, remember=True)
        return redirect(url_for('form.listar'))
    else:
        print(forms.errors)
    return render_template('login.html', form=forms)
Exemple #6
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('home'))
    form = LoginForm()
    #print(form.validate_on_submit())
    #print(form.errors)
    if (form.validate_on_submit()):
        user = User.query.filter_by(Usuario=form.Usuario.data).first()
        if user is None or not user.check_password(form.Clave.data):
            flash('Usuario o Clave invalida')
            #return redirect(url_for('login'))
            return render_template('/Login-Register-Page/login.html',
                                   form=form)
        login_user(user, remember=form.recordar.data)
        return redirect(url_for('home'))
    return render_template('/Login-Register-Page/login.html', form=form)
def login():
    """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 is None or not user.check_password(form.password.data):
            flash('Invalid username or password')
            return redirect(url_for('login.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/loginpage.html', title='Sign in', form=form)
Exemple #8
0
def login():
    logger = logging.getLogger("LOGIN")

    # При входе на сайт, пользователь сразу переходит к странице
    # авторизации.
    # Он вводит свой логин и пароль, а так как пользователь у нас один,
    # то проверяем введенные данные с данными, которые у нас есть.
    # Если были введены верные данные, то переводим его на основную
    # страницу.
    # Иначе просим его ввести данные снова.

    user = User("admin", "admin")

    # Проверяем, если пользователь уже зашел,
    # то отправляем его на основную страницу.
    if current_user.is_authenticated:
        logger.info("User already autheticated")
        return redirect(url_for("index.index"))
    # Создаем объект form, который содержит в себе веб-формы для
    # авторизации
    form = LoginForm()
    # Если пришел POST запрос от браузера
    if form.validate_on_submit():
        logger.debug("L0gin page submitted")
        if user.username != form.username.data or user.check_password(
                form.password.data) is False:
            logger.info("Invalid username or password")
            flash('Invalid username or password')
            return redirect(url_for('login'))
        # Иначе загружаем пользователя
        # и переходим к основной странице
        login_user(user, remember=form.remember.data)
        logger.info("User" + user.username + " signed in")
        # Проверяем, если в строке был указан аргумент next,
        # значит пользователь пытался перейти на страницу для
        # авторизованных пользователей, но так как он не авторизовалься,
        # его перенаправили сюда. Тогда после того, как он
        # авторизовался, переходим на стрницу указанную страницу.
        next_page = request.args.get("next")
        # Если аргумента next нет, то переходим на главную страницу
        if next_page is None or url_parse(next_page).netloc != '':
            next_page = url_for("index.index")
        return redirect(next_page)
    # Отображаем страницу авторизиции
    logger.debug("Rendering login page")
    return render_template("login.html", title="Login", form=form)
Exemple #9
0
def handle_login():
    login_form_info = LoginForm(request.form)
    if login_form_info.validate():
        username = login_form_info.username.data
        password = login_form_info.password.data
        if '@' in username:
            user_online = User.objects(email=username, password=password)
        else:
            user_online = User.objects(username=username, password=password)

        if user_online:
            login_user(user=user_online.first(), remember=True)
            return redirect('/')
        else:
            flash(u'帐号与密码不匹配')
            return login_index()
    else:
        flash(u'非法输入')
        return login_index()
def login():
    """The screen to log the user into the system."""
    if current_user.is_authenticated:
        return redirect(url_for('default.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", category="top")
            return redirect(url_for('login.login'))
        login_user(user)
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('default.home')
        return redirect(next_page)
    nav_bar_title = "Login"
    return render_template('login.html',
                           title='Sign in',
                           form=form,
                           nav_bar_title=nav_bar_title)
Exemple #11
0
def log_user_in():
    form = LoginForm(request.form)

    if form.validate_on_submit():

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

        if user is not None and user.check_password(form.password.data):
            login_user(user)
            return redirect(url_for('index'))

        else:
            if user is None:
                flash('User\'s name not found', 'login')
            else:
                flash('Incorrect Password', 'login')

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

    else:
        return render_template('login.html', form=form)
Exemple #12
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('index.index'))

    form = LoginForm()
    if request.method == 'POST' and form.validate_on_submit():
        next_page = request.args.get('next')

        user = User(form.username.data)
        if user.username and user.check_password(form.password.data):
            login_user(user)

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

        else:
            flash('Incorrect username/password.')
            next_page = request.referrer

        return redirect(next_page)

    return render_template('login.html', form=form)
Exemple #13
0
def login():
    login_form = LoginForm(request.form)
    create_account_form = CreateAccountForm(request.form)
    if 'login' in request.form:
        username = request.form['username']
        password = request.form['password']
        user = User.query.filter_by(username=username).first()
        if user and checkpw(password.encode('utf8'), user.password):
            login_user(user)
            return redirect(url_for('login_blueprint.route_default'))
        return render_template('errors/page_403.html')
    if not current_user.is_authenticated:
        return render_template('login.html',
                               login_form=login_form,
                               create_account_form=create_account_form)
    return redirect(url_for('base_blueprint.init'))
Exemple #14
0
def login():
    login_form = LoginForm(request.form)
    if 'login' in request.form:

        # read form data
        username = request.form['username']
        password = request.form['password']
        # Locate user
        user = User.query.filter_by(username=username).first()

        # Check the password
        if user and verify_pass(password, user.password):

            login_user(user)
            return redirect(url_for('login_blueprint.route_default'))

        # Something (user or pass) is not ok
        return render_template('login/login.html',
                               msg='Wrong user or password',
                               form=login_form)

    if not current_user.is_authenticated:
        return render_template('login/login.html', form=login_form)
    return redirect(url_for('main_blueprint.index'))