From 7619809115e6fdc3d7df8705abb20f228863e7c2 Mon Sep 17 00:00:00 2001 From: Alexander Sulfrian Date: Mon, 25 Jan 2016 00:15:12 +0100 Subject: Use Flask-Login for login handling --- accounts/utils/__init__.py | 49 +--------------------------------------------- 1 file changed, 1 insertion(+), 48 deletions(-) (limited to 'accounts/utils/__init__.py') diff --git a/accounts/utils/__init__.py b/accounts/utils/__init__.py index 4529796..06cf969 100644 --- a/accounts/utils/__init__.py +++ b/accounts/utils/__init__.py @@ -4,6 +4,7 @@ import re from functools import wraps from flask import current_app, flash, g, redirect, render_template, request, session from flask import url_for as flask_url_for +from flask.ext.login import current_user from werkzeug.exceptions import Forbidden from wtforms.validators import Regexp, ValidationError @@ -31,54 +32,6 @@ def templated(template=None): return templated__ return templated_ -def login_required(f): - @wraps(f) - def login_required_(*args, **kwargs): - if not g.user: - raise Forbidden(u'Bitte einloggen!') - return f(*args, **kwargs) - return login_required_ - -def admin_required(f): - @wraps(f) - def admin_required_(*args, **kwargs): - if not g.user: - raise Forbidden(u'Bitte einloggen!') - if g.user.uid not in current_app.config.get('ADMIN_USERS', []): - raise Forbidden(u'Du bist kein Admin.') - return f(*args, **kwargs) - return admin_required_ - -def logout_required(f): - @wraps(f) - def logout_required_(*args, **kwargs): - if g.user: - raise Forbidden(u'Diese Seite ist nur für nicht eingeloggte Benutzer gedacht!') - return f(*args, **kwargs) - return logout_required_ - - -def login_user(username, password): - username = ensure_utf8(username) - password = ensure_utf8(password) - - try: - g.user = current_app.user_backend.auth(username, password) - except (current_app.user_backend.NoSuchUserError, - current_app.user_backend.InvalidPasswordError): - return False - - session['username'] = username - session['password'] = password - - return True - - -def logout_user(): - session.pop('username', None) - session.pop('password', None) - g.user = None - def ensure_utf8(s): if isinstance(s, unicode): -- cgit v1.2.3-1-g7c22