from sklearn.feature_extraction.text import TfidfVectorizer from Crypto import Random from u2flib_server.jsapi import DeviceRegistration from u2flib_server.u2f import start_register, complete_register, start_authenticate, verify_authenticate templatesFolder = os.path.join(os.path.abspath(os.path.dirname(__file__)), "./templates") assetsFolder = os.path.join(os.path.abspath(os.path.dirname(__file__)), "./public/assets") app = Flask(__name__, template_folder=templatesFolder) app.secret_key = Random.new().read(32) # AUTH # login_manager = login.LoginManager() login_manager.init_app(app) login_manager.login_view = "do_login" @login_manager.user_loader def load_user(userid): try: print "Getting user", userid return User().getObjectsByKey("_id", userid)[0] except Exception as e: print e return None @app.route("/login", methods=["GET", "POST"])
from public import website from public import datamanager from flask.ext import login as flask_login from flask.ext.login import login_required website.secret_key = 'super secret string' login_manager = flask_login.LoginManager() login_manager.init_app(website) login_manager.login_view = "sign_in" class User(flask_login.UserMixin): def __init__(self, username, password): self.username = username self.password = password self.authenticated = False def get_id(self): return self.username def is_authenticated(self): return self.authenticated def is_active(self): return True def is_anonymous(self): return False
def get_auth_token(self): rv = lm.make_secure_token(self.username + self.password) app.logger.debug(rv) return rv app = flask.Flask(__name__) app.debug = True app.config['SECRET_KEY'] = 'hello' app.logger.debug(get_users()) login_manager = lm.LoginManager() login_manager.init_app(app) @login_manager.token_loader def load_token(*args, **kwargs): app.logger.debug(args) app.logger.debug(kwargs) @login_manager.user_loader def load_user(s_user_id): user_id = int(s_user_id) rv = get_user(user_id) if rv: return rv
if not super(ExtendedLoginForm, self).validate(): return False if self.username.data.strip() == '': return False self.user = db.session.query(User).filter( User.username == self.username.data).first() if self.user is None: return False if self.password.data == self.user.password: return True return False user_datastore = SQLAlchemyUserDatastore(SQLAlchemy(app), User, Role) security = Security(app, user_datastore, login_form=ExtendedLoginForm) lm = login.LoginManager(app) lm.login_view = 'index' @login_required @roles_required('privileged_user') @app.route('/testroles') def TestLogin(): if current_user.is_authenticated: if current_user.has_role('privileged_user'): context = {'user_name': get_current_user_first_name()} return render_template('testroles.html', **context) else: return make_response("Unauthorized User") else: return redirect('/login')
#!/usr/bin/env python # encoding: utf-8 from flask import Flask import os from flask_sqlalchemy import SQLAlchemy import flask.ext.login as flask_login lm = flask_login.LoginManager() basedir = os.path.abspath(os.path.dirname(__file__)) db_dir = os.path.join(basedir,"db") sqlite_dir = "sqlite:////" + db_dir app = Flask(__name__) db = SQLAlchemy(app) app.config["SQLALCHEMY_DATABASE_URL"] = db_dir lm.init_app(app) import core.models import core.views