Beispiel #1
0
def tologin():
    #form = LoginForm(meta={'locales':['en_US','en']})
    form = LoginForm()
    print('tologin method is : ', request.method, ', submitted ? ',
          form.validate_on_submit())
    '''
        表单实例化后,如果是GET请求,则会渲染模板。
        如果是POST,就调用validate()函数执行表单验证
    '''
    #if request.method == 'POST' and form.validate():
    '''
        Flask-WTF 提供的validate_on_submit()方法合并了请求方式判断及表单验证,所以以上写法可改为如下写法
    '''
    #pass
    if form.validate_on_submit():
        print('Do the post login action !!!')
        '''
            表单类的data属性是一个匹配所有字段与对应数据的字典,我们一般直接通过“ form.字段属性名.data ”的
            形式来获取对应字段的数据
        '''
        if form.username.data == 'admin' and form.password.data == '12345678':
            session.pop('loginfailed', None)
            session['loginuser'] = form.username.data
            return redirect(url_for('index'))
        else:
            session['loginfailed'] = '账号 / 密码错误!!!'
    return render_template('login/login.html', form=form)
Beispiel #2
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        # Login and validate the user.
        # user should be an instance of your `User` class

        user = User.query.filter_by(username=form.username.data,
                                    password=auth.getPassword(
                                        form.username.data,
                                        form.password.data)).first()
        if user != None:

            auth.login(user, form.remember_me.data)
            user.last_log_time = datetime.now()
            user.last_log_ip = request.remote_addr
            db.session.commit()
            flash(u'登录成功')

            next = request.args.get('next')
            # next_is_valid should check if the user has valid
            # permission to access the `next` url
            # if not next_is_valid(next):
            #     return abort(400)
            return redirect(next or url_for('home.index'))

        else:
            flash(u"用户名或密码错误")

    return render_template('userlogin.html', form=form)
Beispiel #3
0
def login():
    """Авторизация пользователя"""

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

    form_log = LoginForm()
    form_reg = RegisterForm()

    # если форма заполнена и отправлена
    if form_log.validate_on_submit():
        db_session.global_init("db/database.sqlite")
        session = db_session.create_session()
        user = session.query(User).filter(
            User.email == form_log.email.data).first()

        # если пароль введён верный
        if user and user.check_password(form_log.password.data):
            # выполняется вход пользователя
            login_user(user, remember=True)
            return redirect("/")

        return render_template('enter_page.html',
                               message_log="Неправильный логин или пароль",
                               form_log=form_log,
                               form_reg=form_reg)
    return render_template('enter_page.html',
                           title='Авторизация',
                           form_log=form_log,
                           form_reg=form_reg)
Beispiel #4
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        # Login and validate the user.
        # user should be an instance of your `User` class

        user = User.query.filter_by(username=form.username.data,password=auth.getPassword(form.username.data,form.password.data)).first()
        if user != None:

            auth.login(user,form.remember_me.data)
            user.last_log_time = datetime.now()
            user.last_log_ip = request.remote_addr
            db.session.commit()
            flash(u'登录成功')

            next = request.args.get('next')
            # next_is_valid should check if the user has valid
            # permission to access the `next` url
            # if not next_is_valid(next):
            #     return abort(400)
            return redirect(next or url_for('home.index'))

        else:
            flash(u"用户名或密码错误")

    return render_template('userlogin.html', form=form)
Beispiel #5
0
def login():
    if current_user.is_authenticated:
        if current_user.role_id == 1:
            return redirect('/system_admin')
        if current_user.role_id == 2:
            return redirect('/ed_process_admin')
        if current_user.role_id == 3:
            return redirect('/teacher')
        if current_user.role_id == 4:
            return redirect('/student')

    if get('https://ssstarsss.herokuapp.com/api/users/1').status_code == 404:
        post('https://ssstarsss.herokuapp.com/api/roles', json={"name": "SysAdmin", "can_view_teachers": 1,
                                                       "can_view_tests": 1, "can_add_users": 1,
                                                       "can_add_tests": 1, "can_complete_tests": 1})

        post('https://ssstarsss.herokuapp.com/api/roles', json={'name': 'EduAdmin', 'can_view_teachers': 1,
                                                       'can_view_tests': 1, 'can_add_users': 0,
                                                       'can_add_tests': 0, 'can_complete_tests': 0})

        post('https://ssstarsss.herokuapp.com/api/roles', json={'name': 'Teacher', 'can_view_teachers': 0,
                                                       'can_view_tests': 1, 'can_add_users': 0,
                                                       'can_add_tests': 0, 'can_complete_tests': 0})

        post('https://ssstarsss.herokuapp.com/api/roles', json={'name': 'Student', 'can_view_teachers': 0,
                                                       'can_view_tests': 1, 'can_add_users': 0,
                                                       'can_add_tests': 1, 'can_complete_tests': 0})

        post('https://ssstarsss.herokuapp.com/api/users', json={'login': "******", 'surname': 'Админов',
                                                       'role_id': 1, 'name': 'Админ', 'hashed_password': '******'})

    form_log = LoginForm()

    # если форма заполнена и отправлена
    if form_log.validate_on_submit():
        db_session.global_init("db/database.sqlite")
        session = db_session.create_session()
        user = session.query(Users).filter(Users.login ==
                                           form_log.login.data).first()

        # если пароль введён верный
        if user and user.check_password(form_log.password.data):
            # выполняется вход пользователя
            login_user(user, remember=True)
            if current_user.role_id == 1:
                return redirect('/system_admin')
            if current_user.role_id == 2:
                return redirect('/ed_process_admin')
            if current_user.role_id == 3:
                return redirect('/teacher')
            if current_user.role_id == 4:
                return redirect('/student')
        return render_template('login.html',
                               error="Неправильный логин или пароль",
                               form_log=form_log)
    return render_template('login.html', form_log=form_log)
Beispiel #6
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        flash('Login requested for OpenID="' + form.openid.data +
              '", remember_me=' + str(form.remember_me.data))
        return redirect('/index')
    return render_template('login.html',
                           title='Sign In',
                           form=form,
                           providers=app.config['OPENID_PROVIDERS'])
Beispiel #7
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        if form.email.data == '*****@*****.**' and form.password.data == 'password':
            flash(f'You have been logged in!', 'success')
            return redirect(url_for('home'))
        else:
            flash(
                f'Login unseccusseful, please check your username and password',
                'danger')
    return render_template('login.html', title='Login', form=form)
Beispiel #8
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.User.get_by_username(form.username.data)
        if user is not None and user.check_password(form.password.data):
            login_user(user, form.remember_me.data)
            flash("login successful! Welcome {}".format(user.username))
            return redirect(
                request.args.get('next') or url_for('baseviews.index'))
        flash('Incorrect username or password.')
    return render_template('login.html', form=form)
Beispiel #9
0
def login():
    if is_authenticated():
        return redirect_to('rounds.rounds')
    form = LoginForm()
    if form.validate_on_submit():
        user = get_username(form.username.data)
        if user and bcrypt.check_password_hash(user.password,
                                               form.password.data):
            login_user(user, remember=form.remember_me.data)
            return redirect_to('rounds.rounds')
        else:
            flash('Login Unsuccessful. Invalid Credentials.', 'danger')
    return render_template('login.html', title='Login', form=form)
Beispiel #10
0
def index():
    myForm = LoginForm()
    if myForm.validate_on_submit():
        if session['recaptcha'].lower() == myForm.recaptcha.data.lower():
            user = User(myForm.username.data, myForm.password.data)
            session['username'] = myForm.username.data
            if (user.isExisted()):
                return redirect(url_for('home'))
            else:
                flash(u'出错啦,登录失败,请检查用户名和密码是否正确!')
        else:
            flash(u'Hi, 验证码错误, 请重输!')
    return render_template('index.html', form=myForm)
Beispiel #11
0
def login():
    form = LoginForm()

    if form.validate_on_submit():
        userSeekingAccess = session.query(UserAccount).filter_by(
            email=form.email.data).first()

        if userSeekingAccess is not None:
            if userSeekingAccess.decode_password(form.passcode.data):
                login_user(userSeekingAccess, remember=form.remember_me.data)
                return redirect(url_for('dashboard'))

            return 'bad creds'

    return render_template('login.html', form=form)
Beispiel #12
0
def login():
    form = LoginForm()
    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()

        if user.check_password(form.password.data) and user is not None:
            login_user(user)
            flash('Login Sucessfully')

            next = request.args.get('next')

            if next == None or not next[0] == '/':
                next = url_for('welcome_user')

            return redirect(next)
    return render_template('login.html', form=form)
Beispiel #13
0
def login():
    """Renders login page."""
    form = LoginForm()

    if form.validate_on_submit():

        username: str = form.username.data
        password: str = form.password.data
        remember: bool = form.remember_me.data

        if validate_login(username, password):
            user = find_user(username)
            login_user(user, remember=remember)
            return redirect(f"/user/{username}")
        else:
            flash("Invalid user credentials.")

    return dict(form=form)
Beispiel #14
0
def login():
    form = LoginForm(request.form)
    if request.method == 'GET':
        return render_template('login_page.html', form=form)
    if request.method == 'POST':
        if form.validate_on_submit():
            user = db.session.query(User).filter(
                User.email == form.email.data).first()
            if user and user.password == form.password.data:
                session['user_id'] = user.id
                session['role_id'] = user.role_id
                flash('Wellcome %s' % user.name)
                return redirect(url_for('index'))
            else:
                flash('Incorrect login/password data...')
                return render_template('login_page.html', form=form)
        else:
            flash('Incorrect login/password data...')
            return render_template('login_page.html', form=form)
Beispiel #15
0
def login():
    if request.method == 'GET':
        if 'logged_in' in session:
            message_body = 'You are already logged in.'
            message_title = 'Error!'
            return render_template('message.html',
                                   message_title=message_title,
                                   message_body=message_body)
        else:
            form = LoginForm()
            return render_template('login.html', form=form, error=form.errors)
    else:
        form = LoginForm()
        try:

            if form.validate_on_submit():
                data = User.query.filter_by(email=form.email.data).first()
                if (data is not None and check_password_hash(
                        data.password_hash, form.password.data)
                        and data.active):

                    session['logged_in'] = True
                    session['id'] = data.id
                    session['email'] = data.email
                    return render_template('index.html', session=session)
                else:
                    message_body = 'Login failed or ' \
                                   'your account is not activated'
                    message_title = 'Error!'
                    return render_template('message.html',
                                           message_title=message_title,
                                           message_body=message_body)
            else:
                return render_template('login.html',
                                       title='Sign In',
                                       form=form,
                                       error=form.errors)
        except (ValueError, TypeError):
            message_body = 'Something went wrong'
            message_title = 'Error!'
            return render_template('message.html',
                                   message_title=message_title,
                                   message_body=message_body)
Beispiel #16
0
def login():
    form = LoginForm()

    if form.validate_on_submit():
        user = User.query.filter_by(username=form.username.data).first()

        if current_user.is_authenticated:
            flash('You are already logged in')
            return redirect('/login')

        if user is None or not user.check_password(form.password.data):
            flash('Invalid username or password')
            return redirect('/login')

        login_user(user, remember=form.remember_me.data)

        return redirect('/')

    return render_template('login.html', title='Sign In', form=form)
Beispiel #17
0
def login():
	form = LoginForm()
	if form.validate_on_submit():
		email = form.email.data
		# this is where real authentication should be done
		user = find_user(email)
		if user == None:
			error_message = 'Unable to log you in, please check email and password carefully.'
			return render_template('generic-error.html', error_message=error_message, back_url=url_for('web.login')), 401
		nickname = user.nickname
		if user.verify_password(form.password.data):
			login_user(user)
			next = request.args.get('next')
			if next is None or not next.startswith('/'):
				next = url_for('web.index')
			return redirect(next)
		error_message = 'Unable to log you in.'
		return render_template('generic-error.html', error_message=error_message, back_url=url_for('web.login')), 400

	return render_template('login.html', form=form)
Beispiel #18
0
def login():
    f = LoginForm(request.form)
    if request.method == "POST" and f.validate_on_submit():
        return login_user(f.username.data, f.password.data)
    else:
        return render_template('login.html', form=f)