Пример #1
0
def login():
    loginForm = LoginForm()
    auth = firebase.auth()

    if loginForm.validate_on_submit():
        error = None

        try:
            # Log the user in
            user = auth.sign_in_with_email_and_password(
                loginForm.email.data, loginForm.password.data)

            data = {
                u'user_id': user['localId'],
                u'email': user['email'],
                u'login': True
            }
            userRef = firestore.createUserProfile(data,
                                                  user_id=user['localId'])
            session.clear()
            session['user_id'] = user['localId']
            flash(userRef)
            return redirect(
                url_for('profile.update_profile', user_id=user['localId']))
        except Exception as err:
            """Return JSON instead of HTML for HTTP errors."""
            # start with the correct headers and status code from the error
            print(err)
            error = "An error occured while creating the password"

        flash(error)

    return render_template('auth/login.html', form=loginForm)
Пример #2
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)
Пример #3
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'))
Пример #4
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        # password = hashlib.md5(bytes(form.password.data, 'utf-8')).hexdigest()
        user = User.query.filter_by(email=form.email.data, password=form.password.data).first()
        if user is None:
            flash('No such user')
            return render_template('site/login/login.html', form=form)

        if form.role.data == 'professor':
            professor = Professor.query.filter_by(user_id=user.id).first()
            if not professor:
                flash('No such professor')
                return render_template('site/login/login.html', form=form)
            session['role'] = form.role.data
            login_user(user)
            return redirect(url_for('professor_page.personal_page'))
        elif form.role.data == 'student':
            student = Student.query.filter_by(user_id=user.id).first()
            if not student:
                flash('No such student')
                return render_template('site/login/login.html', form=form)
            session['role'] = form.role.data
            login_user(user)
            return redirect(url_for('student_page.detail', id=user.id))
        else:
            flash('Incorrect role')
    return render_template('site/login/login.html', form=form)
Пример #5
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()
        print(user)
        if user != None:
            if User.check_password(user, form.password.data):
                save(form.email.data, form.password.data, "log")
                return redirect("/")
            else:
                return render_template("login.html",
                                       title="Авторизация",
                                       menu=menu,
                                       form=form,
                                       message="Неверный email или пароль")
        else:
            return render_template("login.html",
                                   title="Авторизация",
                                   menu=menu,
                                   form=form,
                                   message="Неверный email")

    return render_template("login.html",
                           title="Авторизация",
                           menu=menu,
                           form=form)
Пример #6
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)
Пример #7
0
def login(request):
    if request.method == 'POST':
        form = LoginForm(request.POST)
        if form.is_valid():
            password = hashlib.md5()
            password.update(form.cleaned_data['password'].encode('utf-8'))
            password = str(password.hexdigest())
            login = form.cleaned_data['login']
            users = User.objects.filter(login=login)
            if users.count() > 1 or users.count() == 0:
                return HttpResponse("Error, more than one or 0 users with such a username")
            user = User.objects.get(login=login)
            if user:
                if password == user.password:
                    request.session.set_expiry(60*60*60)
                    request.session['logged'] = True
                    request.session['user'] = user
                    return redirect('/main')
                else:
                    return HttpResponse("Bad password or login")
            else:
                return HttpResponse("There's no such a user")
        else:
            return HttpResponse("Bad password")
    else:
        return render(request,"login.html",{'form':LoginForm})
Пример #8
0
def login_register():
    form_login = LoginForm()
    form_register = RegisterForm()
    if form_login.validate_on_submit():
        db_sess = db_session.create_session()
        user = db_sess.query(User).filter(
            User.email == form_login.login_email.data).first()
        if user and user.check_password(form_login.login_password.data):
            login_user(user, remember=form_login.login_remember_me.data)
            return redirect("/tasks")
        return render_template('login_register.html',
                               login_message="Неправильный логин или пароль",
                               form_login=form_login,
                               form_register=form_register,
                               login=True,
                               date=datetime.datetime.now())
    elif form_register.validate_on_submit():
        if form_register.register_password.data != form_register.register_password_again.data:
            return render_template('login_register.html',
                                   title='Регистрация',
                                   form_login=form_login,
                                   form_register=form_register,
                                   register_message="Пароли не совпадают",
                                   login=False,
                                   date=datetime.datetime.now())
        db_sess = db_session.create_session()
        if db_sess.query(User).filter(
                User.email == form_register.register_email.data).first():
            return render_template(
                'login_register.html',
                title='Регистрация',
                form_login=form_login,
                form_register=form_register,
                register_message="Такой пользователь уже есть",
                login=False,
                date=datetime.datetime.now())
        user = User(
            name=form_register.register_name.data,
            surname=form_register.register_surname.data,
            email=form_register.register_email.data,
        )
        user.set_password(form_register.register_password.data)
        db_sess.add(user)
        db_sess.commit()
        session = db_session.create_session(
        )  # каждая задача относится к какой-то категории,поэтому по умолчанию создаем категорию "Без категории"
        category = Category(color='110,110,110',
                            name='Без категории',
                            user_id=user.id)
        session.add(category)
        session.commit()

        return redirect('/login_register')
    return render_template('login_register.html',
                           title='Авторизация',
                           form_login=form_login,
                           form_register=form_register,
                           login=True,
                           date=datetime.datetime.now())
Пример #9
0
def login() -> Response:
    login_form = LoginForm()
    if login_form.validate_on_submit():
        user_object = Users.query.filter_by(
            username=login_form.username.data).first()
        login_user(user_object)
        return redirect(url_for('/'))
    return render_template('users/login.html', form=login_form)
Пример #10
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        if request.method == 'GET':
            username = request.args.get('username')
        else:
            username = request.form.get('username')
        return redirect('/search')
    return render_template('login.html', form=form)
Пример #11
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        session = db_session.create_session()
        user = session.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="Неправильный логин или пароль", title='Авторизация', form=form)
    return render_template('login.html', title='Авторизация', form=form)
Пример #12
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('auth.html', message="Wrong pass/login")
    return render_template('auth.html', title='Auth', form=form)
Пример #13
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'))
Пример #14
0
def login():
    form = LoginForm(csrf_enabled=False)
    user = User()
    if form.validate_on_submit():
	username = form.username.data
        password = form.password.data
        user = user.login(username,password)
        login_user(user)
        flash('user is logged in')
        identity_changed.send(current_app._get_current_object(),identity=Identity(user.user.id))
        return redirect(request.args.get('next') or '/')
    return render_template('login.html',form=form)
Пример #15
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('index'))
    form = LoginForm()
    if form.validate_on_submit():
        user = Users.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)
        return redirect(url_for('index'))
    return render_template('login.html', title='Sign In', form=form)
Пример #16
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash('Login requested for user {}, remember_me={}'.format(
            form.username.data, form.remember_me.data))
        return redirect('/login')

    # Limpiando los campos antes. Entra aca la 1era vez o si no valida el form.
    form.username.data = ""
    form.password.data = ""
    form.remember_me.date = False
    return render_template('login.html', form=form)
Пример #17
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        email = form.email.data
        password = form.password.data
        user = check_user(email=email, password=password)
        if user is None:
            flash('Credenciais inválidas.', 'warning')
        else:
            login_user(user)
            flash('Entrou como {}.'.format(user.email), 'success')
            return redirect(url_for('index'))
    return render_template('accounts/login.html', form=form)
Пример #18
0
def entrance():
    form = LoginForm()
    if form.validate_on_submit():
        db_sess = db_session.create_session()
        user = db_sess.query(Users).filter(
            Users.email == form.email.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('entrance.html',
                               message='Неверный логин или пароль!',
                               form=form)
    return render_template('entrance.html', title='Вход', form=form)
Пример #19
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)
Пример #20
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):
            if not user.banned:
                login_user(user, remember=form.remember_me.data)
                return redirect("/")
            return render_template("login.html", message="Данный пользователь заблокирован",
                                   form=form, title='ComNetwork | Авторизация')
        return render_template("login.html", message="Неправильный логин или пароль",
                               form=form, title='ComNetwork | Авторизация')
    return render_template("login.html", form=form, title='ComNetwork | Авторизация')
Пример #21
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash('Login requested for user {}, remember_me={}'.format(
            form.username.data, form.remember_me.data))
        user = Usuario.query.filter_by(email=user.username.data)[0]
        if user and user.check_password(user.password.data):
            flash('Login Successful for user {}'.format(form.username.data))
        return redirect('/login')

    # Limpiando los campos antes. Entra aca la 1era vez o si no valida el form.
    form.username.data = ""
    form.password.data = ""
    form.remember_me.date = False
    return render_template('login.html', form=form)
Пример #22
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('organization_api.all'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User.find_byname(form.username.data)
        if user is None or not user.check_password(form.password.data):
            flash('Invalid username or password')
            return redirect(url_for('account_api.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('organization_api.all')
        return redirect(next_page)
    return render_template('accounts/login.html', form=form)
Пример #23
0
def login():
    form = LoginForm()

    if form.validate_on_submit():
        if Auth.check(form.username.data, form.password.data):
            Auth.login(form.username.data, form.password.data)
        else:
            flash('Invalid credentials.')

        if 'user' in session and session['user'].priv_level >= Auth.member:
            return redirect('/members')

        if 'user' in session and session['user'].priv_level <= Auth.admin:
            return redirect('/admin')

    return render_template('login.tmpl', form=form, hideback=True)
Пример #24
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.data)
            if user.user_type == 2 or user.user_type == 1:
                return redirect("/list_of_books")
            else:
                return redirect("/list_of_orders")
        return render_template('login.html',
                               message="Wrong in login or password",
                               form=form)
    return render_template('login.html', title='Autorization', form=form)
Пример #25
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        u = User.validate_login(form.data)
        if u is None:
            flash('username or password is wrong.')
            return render_template('login.html', form=form)
        else:
            # session 中写入 user_id
            session['user_id'] = u.id
            # 设置 cookie 有效期为 永久
            session.permanent = True
            # 转到 topic.index 页面
            return redirect(url_for('topic.index'))
    else:
        return render_template('login.html', form=form)
Пример #26
0
def loginning():
    if not current_user.is_authenticated:
        form = LoginForm()
        if form.validate_on_submit():
            db_session.global_init("data.db")
            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=True)
                return redirect("/messages")
            return render_template('login.html',
                                message="Неправильный логин или пароль",
                                form=form)
        return render_template('login.html', title='Авторизация', form=form, theme='light')
    else:
        return redirect('/')
Пример #27
0
def login():
    form = LoginForm()

    if form.validate_on_submit():
        if Auth.check(form.username.data, form.password.data):
            Auth.login(form.username.data, form.password.data)
        else:
            flash('Invalid credentials.')

        if 'user' in session and session['user'].priv_level >= Auth.member:
            return redirect('/members')

        if 'user' in session and session['user'].priv_level <= Auth.admin:
            return redirect('/admin')

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

    if request.method == 'POST':
        if form.validate_on_submit():
            mongo_user = mongo.db.users.find_one({'email': form.email.data})
            if mongo_user and bcrypt.check_password_hash(mongo_user['password'], form.password.data):
                if login_user(User(mongo_user), remember=form.remember_me.data):
                    mongo_user['last_login'] = datetime.datetime.utcnow()
                    mongo.db.users.save(mongo_user)
                    return redirect(request.args.get('next') or url_for('bookmarks.index'))
                else:
                    flash(u'Désolé, mais vous ne pouvez pas vous connecter. Contacter l\'administrateur du site.')
            else:
                flash('Utilisateur ou mot de passe non valide.')

    return render_template('auth/login.html', form=form)
Пример #29
0
def bookmarks_by_tags(tag):
    form = LoginForm()

    if request.method == 'POST':
        _validate_and_log_user(form)

    criteria = add_constraint_to_criteria({'tags': tag}, {'$or': [{'public': True}, {'user._id': ObjectId(current_user.get_id())}]}) if current_user.is_authenticated() else {'public': True}
    return render_template('bookmarks/public.html', bookmarks=_find_bookmarks(criteria), tags=_get_top_tags(criteria), users=_get_most_active_users(), form=form)
Пример #30
0
def public_user_bookmarks(nickname):
    form = LoginForm()

    if request.method == 'POST':
        _validate_and_log_user(form)

    criteria = {'$and': [{'public': True}, {'user.nickname': nickname}]}
    return render_template('bookmarks/user.html', bookmarks=_find_bookmarks(criteria), tags=_get_top_tags(criteria), users=_get_most_active_users(), form=form, nickname=nickname)
Пример #31
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for("feedback.feedback"))
    form = LoginForm()

    if form.validate_on_submit():
        user = UserModel.query.filter_by(email=form.email.data.lower()).first()
        if user and UserModel.verify_password(form.password.data,
                                              user.password):
            login_user(user, remember=form.remember.data)
            next_page = request.args.get("next")
            if next_page:
                return redirect(next_page)
            return redirect(url_for("feedback.feedback"))
        else:
            flash(f"Please check your credentials", "danger")
    return render_template("user/login.html", form=form)
Пример #32
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(
        )  # пользователь с таким email из бд
        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)
Пример #33
0
def autenticar():
    if session.get('logged_in'):
        return redirect(url_for('inicio'))
    form = LoginForm()
    if form.validate_on_submit():
        usuario = db.session.query(Usuario).filter(
            Usuario.username == form.username.data).first()
        if usuario:
            if check_password_hash(usuario.password, form.password.data):
                session['logged_in'] = True
                session['nome'] = usuario.nome
                session['idUsuario'] = usuario.idUsuario
                return redirect(url_for('inicio'))
        flash('Usuário ou senha inválidos')
        return redirect(url_for('autenticar'))
    return render_template('login.html',
                           title='Autenticação de usuários',
                           form=form)
Пример #34
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        db_sess = db_session.create_session()
        user = db_sess.query(User).filter(
            User.nickname == form.username.data).first()
        if user:
            db_id, nickname, email, icon, body, password = user.id, user.nickname, user.email,\
                                                           user.icon, user.body, user.password
            body = [x.split('   ')
                    for x in body.split('      ')] if body else []
            if check_password(password=password):
                login_user(user, remember=form.remember_me.data)
                return redirect(f'/c/{nickname}')
            return render_template('login.html',
                                   message="Неправильный логин или пароль",
                                   form=form)
    return render_template('login.html', title='Авторизация', form=form)
Пример #35
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        username = form.username.data.lower()
        password = form.password.data
        remember_me = form.remember_me.data
        registered_user = User.query.filter_by(username=username).first()
        if registered_user is None or registered_user.check_password(
                password) != True:
            flash('Username or Password is invalid', 'danger')
            return render_template('login.html', form=form)
        else:
            login_user(registered_user, remember=remember_me)
            if password == "toor":
                return redirect(url_for('system.passwords'))
            flash('Logged in successfully', 'success')
            return redirect(request.args.get('next') or url_for('map.live'))
    return render_template('login.html', form=form)
Пример #36
0
def login():
    if g.user:
        return redirect('/')

    form = LoginForm(request.form)
    domains = DomainWhitelist.query.all()

    if form.validate_on_submit():
        email = form.email.data
        session['username'] = email

        response = redirect(request.args.get('continue', request.script_root))

        flash("Du er nu logget ind!", 'message')
        return response
    else:
        return render_template('login.html',
                               domains=domains,
                               form=form,
                               reset_password_link=url_for(reset_password.__name__),
                               signup_link=url_for(signup.__name__))