Exemple #1
0
def login():
    """
    如果登录URL中不含next参数,那么将会重定向到本应用的主页。
    如果登录URL中包含next参数,其值是一个相对路径(换句话说,该URL不含域名信息),那么将会重定向到本应用的这个相对路径。
    如果登录URL中包含next参数,其值是一个包含域名的完整URL,那么重定向到本应用的主页。
    """
    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('auth/login.html', title='Sign In', form=form)
Exemple #2
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('blog.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('用户名或密码不正确.')
            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('blog.index')

        flash('{}已登录.'.format(form.username.data))
        return redirect(next_page)
    return render_template('auth/login.html', form=form)
Exemple #3
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    next_page = request.args.get('next')
    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', 'error')
            return redirect(url_for('auth.login', next=next_page))

        # username/password is valid. sets current_user to the user
        login_user(user, remember=form.remember_me.data)

        # in case url is absolute we will ignore, we only want a relative url
        # netloc returns the www.website.com part
        if not next_page:
            return redirect(url_for('main.index'))
        return redirect(url_for(next_page))

    return render_template('auth/login.html', form=form)
Exemple #4
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()  # get request brings back and instance of the form
    if form.validate_on_submit(
    ):  # for post request,. checks if data entered by user is valida
        user = User.query.filter_by(user_email=form.email.data).first(
        )  # compares what user entered to what is stored in the DB
        if not user or not user.check_password(
                form.password.data
        ):  # if does not exist or password is not corrrect. check_password is one we wrote in models.py
            # check_password compares hashed PW in DB to what user entered- form.password.data is PW supplied in form.
            flash('Invalid Credentials, Please try again'
                  )  # if not valid, will flash a message
            return redirect(url_for(
                'authentication.do_the_login'))  # rediect to login screen
        login_user(user, form.stay_loggedin.data)
        return redirect(url_for('main.display_books'))
    return render_template('login.html',
                           form=form)  # this send the form to the browser
Exemple #5
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):
            session['is_user'] = '******'
            login_user(user, form.remember_me.data)
            user.ping()
            user_log = UserLog(user_id=user.id,
                               ip=request.remote_addr,
                               info='登录')
            db.session.add(user_log)
            try:
                db.session.commit()
            except:
                db.session.rollback()
            finally:
                return redirect(
                    request.args.get('next') or url_for('home.index'))
        flash('无效用户名或密码')
    return render_template('auth/login.html', form=form)
Exemple #6
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.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('auth.login'))
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for('main.home')
        if user.authy_id is not None:
            session['username'] = user.username
            return redirect(
                url_for('auth.check_2fa',
                        next=next_page,
                        remember='1' if form.remember_me.data else '0'))
        login_user(user, remember=form.remember_me.data)
        return redirect(next_page)
    return render_template('auth/login.html', title='Login', form=form)
Exemple #7
0
def login_usr():
    # Так медленнее, но лучше читаемость.
    form = LoginForm()
    # Уже залогинены
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    # Отправили заполненную форму
    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_usr'))
        login_user(user, remember=form.remember_me.data)
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            return redirect(url_for('main.index'))
        return redirect(next_page)
    # Пришли сюда в первый раз
    return render_template('auth/login.html',
                           title='Вход в систему',
                           form=form)
Exemple #8
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        email = form.email.data
        pwd = form.password.data
        user = User.query.filter_by(email=email).first()

        if not user:
            flash('Incorrect username or password.')
            return render_template('auth/login.html', form=form)

        if not user.verify_password(pwd):
            flash('Incorrect username or password.')
            logger.error('===== Start processing boss base var =====')

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

        login_user(user, form.remember_me.data)
        return redirect(url_for('main.index'))

    return render_template('auth/login.html', form=form)
Exemple #9
0
def login():
    """Log in an existing user."""

    if current_user.is_authenticated:
        return redirect(url_for('main.home'))
    login_form = LoginForm()

    if login_form.validate_on_submit():
        user = User.query.filter_by(email=login_form.email.data).first()
        if user is None or not user.check_password(login_form.password.data):
            flash('Invalid email or password.', 'danger')
            return redirect(url_for('auth.login'))
        login_user(user, remember=login_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.home')
        return redirect(next_page)

    return render_template('auth/login.html',
                           title='Wanderlist | Login',
                           login_form=login_form)
Exemple #10
0
def login_view():
    # check whether user has already login
    if current_user.is_authenticated:
        return redirect(url_for('auth.home_view', account_id=current_user.account_id))

    # main function process below
    form = LoginForm()
    captcha = dict()
    captcha_url = 'http://' + Config.CAPTCHA_SERVICE_URL + '/api/hash-match/captcha'
    result = requests.get(captcha_url)
    if result.status_code == 200:
        captcha['captcha_code'] = get_api_info(result)[0]['CAPTCHA']
        captcha['hash_code'] = get_api_info(result)[0]['Hash-Code']
        # store the captcha code into session
        session['captcha_code'] = captcha['captcha_code']
        captcha['captcha_url'] = 'http://' + Config.CAPTCHA_SERVICE_URL +\
                                 '/api/hash-match/captcha/' + captcha['hash_code']
    else:
        captcha['captcha_code'] = '0000'
        captcha['captcha_url'] = 'error'
    return render_template('auth/login/login.html', form=form, captcha=captcha)
Exemple #11
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    login_form = LoginForm()
    if login_form.validate_on_submit():
        db_user = User.query.filter_by(
            username=login_form.username.data).first()
        if db_user is None:
            flash('Invalid username')
            return redirect(url_for('auth.login'))

        if db_user.check_password(login_form.password.data):
            flash('Invalid password')
            return redirect(url_for('auth.login'))
        login_user(db_user, remember=login_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('auth/login.html', title='Sign In', form=login_form)
def login():
    # redirects to index() route if user already logged in
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))

    form = LoginForm()  # create object of LoginForm class from forms.py
    if form.validate_on_submit():
        # load user from database; filter_by query only includes objs that have a matching username
        # first --> used when you only need to have one result; return user obj if exists, or None if it doesn't;
        user = User.query.filter_by(username=form.username.data).first()
        # if user doesn't exist or password incorrect, display flash and redirect to login page
        if user is None or not user.check_password(form.password.data):
            flash('Invalid username or password')
            return redirect(url_for('auth.login'))
        # if username and password both correct, register user as logged in
        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(url_for('main.index'))
    return render_template('auth/login.html', title='Sign In', form=form)
def login():
    if current_user.is_authenticated:
        flash('You are logged in')
        return redirect(url_for('main.index', account='musicians'))
    form = LoginForm()
    if request.method == 'POST' and form.validate():
        user = Profile.query.filter_by(email=form.email.data).first()
        if user is None or not user.check_password(form.password.data):
            flash('Invalid email/password combination', 'error')
            return redirect(url_for('auth.login'))
        elif user.block == 1:
            flash("You are blocked from Musician's Network")
            return redirect(url_for('main.index'))
        login_user(user,
                   remember=form.remember_me.data,
                   duration=timedelta(minutes=1))
        next = request.args.get('next')
        if not is_safe_url(next):
            return abort(400)
        return redirect(next or url_for('main.index', account='musicians'))
    return render_template('login.html', form=form)
Exemple #14
0
def login():
    # If the user is logged in, skip the login page and go to the profile page
    if current_user.is_authenticated:
        return redirect(url_for('profile.profile'))
    form = LoginForm()

    # If the form was submitted and is validated
    if form.validate_on_submit():
        user = User.query.filter(
            func.lower(User.email) == func.lower(form.email.data)).first()
        # Check if the user exists and that the password is correct
        if user is None or not user.check_password(form.password.data):
            # If not, show error
            flash('Invalid email or password', 'warning')
            return redirect(url_for('auth.login'))
        # Otherwise log the user in
        login_user(user, remember=form.remember_me.data)
        return redirect(url_for('profile.profile'))

    # If the page is a GET request, send the loging template
    return render_template('auth/login.html', title='Log in', form=form)
Exemple #15
0
def login():
    if current_user.is_authenticated:  # проверка пользователя на авторизированость
        return redirect(url_for('main.index'))
    form = LoginForm()
    if form.validate_on_submit(
    ):  # проверка на нажатие пользователем кнопки Submit
        cursor = conn.cursor()
        cursor.execute(
            'select password,login,iduser from Uzer where login = %s',
            [form.login.data])
        user = cursor.fetchone()
        conn.commit()
        parol = form.password.data
        if user is None or not check_password_hash(user[0], parol):
            flash(_('Invalid username or password'))
            return redirect(url_for('auth.login'))
        user = load_user(user[2])
        login_user(user, remember=form.remember_me.data,
                   force=True)  # создание пользователя как обьекта
        return redirect(url_for('main.user', id=current_user.id))
    return render_template('auth/login.html', title=_('Sign In'), form=form)
Exemple #16
0
def login():
    if g.user is not None and g.user.is_authenticated():
        return redirect(url_for('home.home'))

    login_form = LoginForm()
    if request.method == "POST":
        if login_form.validate_on_submit():
            login = LoginValidator(email=login_form.email.data,
                                   password=login_form.password.data)

            remember_user = login_form.remember_me.data

            if login.is_valid:
                login_user(login.lookup_user, remember=remember_user)
                return redirect(url_for('home.home'))
            else:
                flash('Incorrect email or password', 'danger')
        else:
            flash("Incorrect email or password", 'danger')

    return render_template('auth/login.html', login_form=login_form)
Exemple #17
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    form = LoginForm(request.form, csrf_enabled=False)
    if form.validate_on_submit() and request.method == 'POST':
        user = User.query.filter_by(username=form.username.data).first()
        if user is None or not user.check_password(form.password.data):
            # flash('Username or password is wrong!', 'error')
            return redirect(url_for('auth.login'))
        login_user(user)
        user.last_seen = datetime.now()
        db.session.commit()
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            if current_user.is_admin:
                next_page = url_for('admin.index')
            else:
                next_page = url_for('main.index')
        # flash('Welcome!', 'success')
        return redirect(next_page)
    return render_template('auth/login.html', form=form)
Exemple #18
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 and user.check_password(form.password.data):
            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)

        flash(_('Invalid username and password combination'))

    return render_template('auth/login.html', title='Login', form=form)
Exemple #19
0
def login():
    """Log in an existing user."""
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(email=form.email.data).first()
        if user is not None and user.password_hash is not None and \
                user.verify_password(form.password.data):
            login_user(user, form.remember_me.data)
            flash('You are now logged in. Welcome!', 'green')
            if current_user.role.index == 'admin':
                return redirect(
                    request.args.get('next') or url_for('admin.dashboard'))
            elif current_user.role.index == 'publisher':
                return redirect(
                    request.args.get('next') or url_for('publisher.dashboard'))
            else:
                return redirect(
                    request.args.get('next') or url_for('customer.dashboard'))
        else:
            flash('Invalid email or password.', 'danger')
    return render_template('home/login.html', form=form)
Exemple #20
0
def login():
    if current_user.is_authenticated:  # если пользователь уже вошел
        return redirect(url_for("main.notes"))
    form = LoginForm()  # создание формы
    if form.validate_on_submit(
    ):  # вызывается при запросе POST, при нажатии на кнопку Submit
        user = User.query.filter_by(username=form.username.data).first()
        if user == None or not user.check_password(
                form.password.data
        ):  # если пользователя не существует млм пароль неверный
            flash(_("Неверное имя пользователя или пароль"))
            return render_template("auth/login.html",
                                   form=form)  # возвращаем эту же самую форму

        login_user(user, remember=form.remember.data)  # иначе входим в систему
        next_page = request.args.get('next')  # и проверяем параметр next
        if not next_page or url_parse(next_page).netloc != '':
            next_page = url_for("main.notes")
        return redirect(next_page)

    return render_template("auth/login.html", form=form)
Exemple #21
0
def login():
    if current_user.is_authenticated:  # Checks to see if user is logged in
        return redirect(url_for('main.home'))
    form = LoginForm()  # Use of LoginForm brought in from forms.py
    if request.method == 'POST':  # Checks if the form submits a POST request
        # Queries database to see if the user trying to log in is inside database
        user = User.query.filter_by(username=form.username.data).first()
        # Checks to see is the password matches one inside database
        if user is None or not user.check_password(form.password.data):
            flash('Invalid Username or Password, Please try again')
            return redirect(url_for('auth.login'))
        # If password matches then it logs the user in
        login_user(user, remember=form.remember_me.data)
        # Generates next page that app will redirect to
        next_page = request.args.get('next')
        if not next_page or url_parse(next_page).netloc != '':
            flash('Successfully Logged In')
            # Flashes sucess message and logs user in
            next_page = url_for('main.home')
        return redirect(next_page)
    return render_template('login.html', title='Login', form=form)
Exemple #22
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))

    form = LoginForm()
    if form.validate_on_submit():
        username = form.username.data
        user = User.query.filter((User.username.ilike(f'%{username}%')) | (
            User.email.ilike(f'%{username}%'))).first()
        if user is None or not user.check_password(form.password.data):
            flash(_('Invalid username or password'))
            return redirect(url_for('auth.login'))

        user.set_session_token()
        login_user(user, remember=form.remember_me.data)
        next_page = request.args.get('next')
        if next_page is None 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)
Exemple #23
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    login_form = LoginForm(prefix='login')
    if request.form.get('login-submit') and login_form.validate_on_submit():
        user = User.query.filter_by(username=login_form.username.data).first()
        if user is None:
            user = User.query.filter_by(email=login_form.username.data).first()
        if user is None or not user.check_password(login_form.password.data):
            flash('Неправильно введены данные')
            return redirect(url_for('auth.login'))
        login_user(user, remember=login_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.company' if current_user.role
                                == 'company' else 'main.doctor',
                                username=current_user.username)
        return redirect(next_page)
    register_form = CompanyRegistrationForm(prefix='register')
    if request.form.get(
            'register-submit') and register_form.validate_on_submit():
        company = Company(username=register_form.username.data,
                          name=register_form.name.data,
                          email=register_form.email.data,
                          role='company')
        company.set_password(register_form.password.data)
        if not os.path.exists('uploads/{}'.format(company.username)):
            os.mkdir('uploads/{}'.format(company.username))
        if not os.path.exists('uploads/{}/workers'.format(company.username)):
            os.mkdir('uploads/{}/workers'.format(company.username))
        company.uploads_path = os.path.join(current_app.config['UPLOAD_PATH'],
                                            company.username)
        db.session.add(company)
        db.session.commit()
        flash('Поздравляем с регистрацией!')
        return redirect(url_for('auth.login'))
    return render_template('auth/login.html',
                           title='Авторизация',
                           login_form=login_form,
                           register_form=register_form)
Exemple #24
0
def signin():
    form = LoginForm()
    user_email = None
    password = None

    if form.validate_on_submit():
        user_email = form.email.data
        password = form.password.data

        # check if email exist
        user = Users.query.filter_by(user_email=user_email).first()
        user_confirmed = user.email_confirmed
        if user and user_confirmed == 1:

            # check if password match email
            if bcrypt.check_password_hash(user.user_password, password):
                login_user(user, form.remember_me.data)
                return redirect(url_for('me.myprofile'))
        elif user and user_confirmed == 0:
            email_con = user.user_email
            flash(
                "Your email has not been verfied, pleas resend the link to verfiy email"
            )
            # this part send emil verfication link
            token = s.dumps(email_con, salt='email_verify')
            msg = Message('Confirm Email',
                          sender='*****@*****.**',
                          recipients=[email_con])
            link = url_for('auth.verify_email', token=token, _external=True)
            msg.body = 'Your link is {}'.format(link)
            mail.send(msg)
            return redirect(url_for("auth.signin"))
        else:
            flash(
                "user credentails do not match, please enter email and password correctly"
            )
            return redirect(url_for("auth.sigin"))

    return render_template('signin.html', title='Signin', form=form)
Exemple #25
0
def login():
    if current_user.is_authenticated:  #Checks if there is a user logged in
        return redirect(url_for("main.index"))

    form = LoginForm()  #The form from app.auth.forms

    if form.validate_on_submit():
        user = User.query.filter_by(
            username=form.username.data.lower()).first()  #Check the database
        if user is None or not user.check_password(
                form.password.data):  #Compares the input with the database
            flash("Invalid username or password.")
            return redirect(url_for("auth.login"))
        login_user(user,
                   remember=form.remember_me.data)  #The user gets logged in
        #Redirect to "next" page
        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("auth/login.html", title="Sign in", form=form)
Exemple #26
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('main.index'))
    form = LoginForm()
    if form.validate_on_submit():
        global username
        username=form.username.data
        user = User.query.filter_by(username=form.username.data).first()
		
        open_conv=HistoriqueOuvertureConversation(username)
        open_conv.createNewConversation()
        open_conv.closeDBConnection()
		
        if user is None or not user.check_password(form.password.data):
            flash(_("Nom d'utilisateur ou mot de passe invalide."))
            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('auth/login.html', title=_('Connexion'), form=form)
Exemple #27
0
def login():
    """Authenticate the user.
    
    Process and validate the login form data and retrieve the user's account data.
    
    Returns:
        Redirect to home page if user is already logged in.
            Redirect to login page if login is not successful.
            Redirect to home page if authentication is successful.
            Redirect to login page if form has not been submitted.
    """
    if current_user.is_authenticated:
        return redirect(url_for('coding.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)
        return redirect(url_for('coding.index'))
    return render_template('auth/login.html', title='Sign In', form=form)
Exemple #28
0
def login():
    if current_app.config['LOGIN_DISABLED']:
        abort(404)

    if current_user.is_authenticated:
        return redirect(url_for('secret.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'), category='danger')
            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('secret.index')
        return redirect(next_page)
    return render_template(
        'auth/login.html',
        title=_('Sign In'),
        form=form,
        not_register=current_app.config['REGISTRATION_DISABLED'])
Exemple #29
0
def login():
    # if request.method=='POST':
    #     username=request.form['username']
    #     password=request.form['password']
    #     print(username,password)
    # else:
    #     #http://127.0.0.1:5000/login?username=ray
    #     username = request.args['username']
    #     print(username)
    # return render_template('login.html',method=request.method)

    from app.auth.forms import LoginForm
    from app.models import User
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(name=form.username.data,
                                    password=form.password.data).first()
        if (user is not None):
            login_user(user)
            return redirect(url_for('main.index'))
    # flash(u'登录成功')
    return render_template('login.html', title='登录', form=form)
Exemple #30
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("home.home"))

    form = LoginForm()

    # If the form has been submitted
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()
        # If the username and the password match
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            flash("Successfully logged in", "primary")
            login_user(user, remember=form.remember.data)
            nextpage = request.args.get("next")
            return redirect(nextpage) if nextpage else redirect(
                url_for("home.home"))
        else:
            # The flash function add the alert message in the frontend
            flash("Bad login", "danger")

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