Exemple #1
0
def login():
    """
    用户登录视图函数
    :return:
    """
    form = LoginForm(request.form)

    # 处理登录表单提交
    if request.method == 'POST' and form.validate():

        user = User.query.filter_by(email=form.email.data).first()

        if user and user.check_password(form.password.data):
            # remember 参数确定用户登录的 cookie 是否持久保存
            # 默认为 False,退出浏览器即删除
            # 设置为 True 时,默认保存 365 天,具体配置 http://www.pythondoc.com/flask-login/#cookie
            login_user(user, remember=True)
            # 获取要跳转的地址
            next = request.args.get('next')
            # next 不是以 '/' 开头,也返回首页(防止重定向攻击)
            if not next or not next.startswith('/'):
                next = url_for('web.index')
            return redirect(next)
        else:
            flash('账号不存在或密码错误')

    return render_template('auth/login.html', form=form)
Exemple #2
0
def login():
    form = LoginForm()
    if request.method == "POST" and form.validate():
        user = Session.query(User).filter_by(
            username=form.username.data).first()
        login_user(user)
        return redirect(url_for("main"))
    return render_template("auth/login.html", form=form)
Exemple #3
0
def register():
    form = LoginForm(request.form_with_json)
    if not form.validate():
        return jsonify(form.errors), 400
    username = form.data['username']
    password = form.data['password']
    pw_hash = generate_password_hash(password)
    print(username, pw_hash)
    return jsonify({'msg': '这个接口是用来搞笑的'})
Exemple #4
0
def login():
    form = LoginForm(request.form)
    if request.method == 'POST' and form.validate():
        user = User.query.filter_by(email=form.email.data).first()
        if user and user.check_password(form.password.data):
            login_user(user, remember=True)
            next_url = request.args.get('next')
            if not next_url or not next_url.startswith('/'):
                next_url = url_for('web.index')
            return redirect(next_url)
        else:
            flash('密码或者用户名错误')
    return render_template('auth/login.html', form=form)
Exemple #5
0
def login():
    form = LoginForm(request.form_with_json)
    if not form.validate():
        return jsonify(form.errors), 400
    username = form.data['username']
    password = form.data['password']
    the_only_user = current_app.config['USERNAME']
    pw_hash = current_app.config['PASSWORD']
    if username == the_only_user and check_password_hash(pw_hash, password):
        session['username'] = username
        session.permanent = True
        return jsonify({'username': username})
    else:
        return jsonify({'msg': '登陆失败'}), 401
Exemple #6
0
 def post(self):
     form = LoginForm(self.request.body_arguments)
     if form.validate():
         user = self.db.query(User).filter(User.email == form.email.data).first()
         if user is None:
             form.email.errors.append('用户名不存在')
             return self.render('auth/login.html', form=form)
         if not user.check_password(form.password.data):
             form.password.errors.append('密码错误')
             return self.render('auth/login.html', form=form)
         # self.set_secure_cookie('_expires', datetime.datetime.now())
         self.set_secure_cookie('_user_id', str(user.id))
         return self.redirect(self.reverse_url('home'))
     self.render('auth/login.html', form=form)
Exemple #7
0
    def post(self):
        form = LoginForm(request.form)

        if form.validate():
            user = Account.login(form.email.data, form.password.data)

            if user is None:
                flash(AUTH['LOGIN_FAIL'])
                return redirect(url_for('auth.login'))

            else:
                session['logined'] = True
                session['user_id'] = user.id
                return redirect(url_for('main.home'))

        else:
            flash(AUTH['LOGIN_FAIL'])
            return redirect(url_for('auth.login'))
Exemple #8
0
 def post(self, *args, **kwargs):
     form = LoginForm(self.request.arguments)
     
     if form.validate():
         if AccountDB.check_email(form.email.data):    # если данный емейл не зарегистрирован
             form.set_field_error('email', 'not_found')
         else:
             a = AccountDB.check_password(form.data)
             if a:
                 timezone = self.get_argument('timezone', None)
                 self.session.set('timezone', timezone)
                 logging.info(u'%s таймзона' % timezone)
                 self.set_user(a)
                 self.set_alert('success', u'Вход выполнен успешно.')
                 self.redirect('/')
                 return
             else:
                 form.set_field_error('password', 'wrong_password')                    
     
     self.context.update({'form': form})
     self.render(tmpl('login'))
Exemple #9
0
    def post(self, *args, **kwargs):
        form = LoginForm(self.request.arguments)

        if form.validate():
            if AccountDB.check_email(
                    form.email.data):  # если данный емейл не зарегистрирован
                form.set_field_error('email', 'not_found')
            else:
                a = AccountDB.check_password(form.data)
                if a:
                    timezone = self.get_argument('timezone', None)
                    self.session.set('timezone', timezone)
                    logging.info(u'%s таймзона' % timezone)
                    self.set_user(a)
                    self.set_alert('success', u'Вход выполнен успешно.')
                    self.redirect('/')
                    return
                else:
                    form.set_field_error('password', 'wrong_password')

        self.context.update({'form': form})
        self.render(tmpl('login'))