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)
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'])