Example #1
0
def login():
    if g.user is not None and g.user.is_authenticated:
        return redirect(url_for('index'))
    form = LoginForm()
    if form.validate_on_submit():
        user = User()
        user.name = form.name.data
        user.passwd = form.password.data.strip()
        users = User.find_all('name=?', [user.name])
        if users is None or len(users) == 0:
            log(level=1, msg="用户名不存在!")
            return redirect(url_for('login'))
        elif not check_password_hash(users[0].passwd, user.passwd):
            log(level=1, msg="密码错误!")
            return redirect(url_for('login'))
        login_user(users[0], remember=True)
        return redirect(request.args.get('next') or url_for('index'))
    return render_template('login.html', title='Sign in', form=form)
Example #2
0
def register():
    if g.user is not None and g.user.is_authenticated:
        return redirect(url_for('index'))
    form = RegisterForm()
    if form.validate_on_submit():
        user = User()
        user.name = form.name.data
        user.email = form.email.data
        user.isconfirmed = False
        user.image = "/static/img/user.png"
        user.passwd = generate_password_hash(form.password.data.strip())
        rows = user.save()
        if rows != 1:
            return redirect(url_for('register'))
        else:
            send_email(to=user.email, subject='确认注册信息!', template='/email/confirm', user=user, id=user.id)
            # login_user(user, remember=True)
            return redirect(url_for('index'))
    return render_template('register.html',
                           title='Sign in',
                           form=form,
                           providers=app.config['OPENID_PROVIDERS'])