Beispiel #1
0
def login():
    """Handle User Login."""
    form = LoginForm()
    if request.method == 'POST' and form.validate():
        user = User.query.filter_by(name=form.name.data).first()
        if user is None or not user.check_password(form.password.data):
            flash('Invalid username or password')
            return redirect('/admin/login')

        login_user(user)
        return redirect('/admin')

    return render_template('admin/login.html', form=form)
Beispiel #2
0
    async def post(self, request):
        """Submit for User login form."""
        form = LoginForm(request)

        if form.validate():
            user = await authenticate(
                request.ctx.conn, form.data["username"], form.data["password"]
            )
            if user:
                await login(request, user)
                return response.redirect(LOGIN_REDIRECT_URL)
            else:
                form.username.errors.append("Not valid username or password!")

        return await jinja.render_async("login.html", request, form=form)