Python flask.ext.login 模块,LoginManager() 实例源码

我们从Python开源项目中,提取了以下6个代码示例,用于说明如何使用flask.ext.login.LoginManager()

项目:zual    作者:ninadmhatre    | 项目源码 | 文件源码
def setUp(self):
        FlaskBloggingTestCase.setUp(self)
        self._create_storage()
        self.app.config["BLOGGING_URL_PREFIX"] = "/blog"
        self.engine = self._create_blogging_engine()
        self.login_manager = LoginManager(self.app)

        @self.login_manager.user_loader
        @self.engine.user_loader
        def load_user(user_id):
            return TestUser(user_id)

        @self.app.route("/login/<username>/", methods=["POST"],
                        defaults={"blogger": 0})
        @self.app.route("/login/<username>/<int:blogger>/", methods=["POST"])
        def login(username, blogger):
            this_user = TestUser(username)
            login_user(this_user)
            if blogger:
                identity_changed.send(current_app._get_current_object(),
                                      identity=Identity(username))
            return redirect("/")

        @self.app.route("/logout/")
        def logout():
            logout_user()
            identity_changed.send(current_app._get_current_object(),
                                  identity=AnonymousIdentity())
            return redirect("/")

        for i in range(20):
            tags = ["hello"] if i < 10 else ["world"]
            user = "testuser" if i < 10 else "newuser"
            self.storage.save_post(title="Sample Title%d" % i,
                                   text="Sample Text%d" % i,
                                   user_id=user, tags=tags)
项目:zual    作者:ninadmhatre    | 项目源码 | 文件源码
def setUp(self):
        FlaskBloggingTestCase.setUp(self)
        self._create_storage()
        self.app.config["BLOGGING_URL_PREFIX"] = "/blog"
        self.engine = self._create_blogging_engine()
        self.login_manager = LoginManager(self.app)

        @self.login_manager.user_loader
        @self.engine.user_loader
        def load_user(user_id):
            return TestUser(user_id)

        @self.app.route("/login/<username>/", methods=["POST"],
                        defaults={"blogger": 0})
        @self.app.route("/login/<username>/<int:blogger>/", methods=["POST"])
        def login(username, blogger):
            this_user = TestUser(username)
            login_user(this_user)
            if blogger:
                identity_changed.send(current_app._get_current_object(),
                                      identity=Identity(username))
            return redirect("/")

        @self.app.route("/logout/")
        def logout():
            logout_user()
            identity_changed.send(current_app._get_current_object(),
                                  identity=AnonymousIdentity())
            return redirect("/")

        for i in range(20):
            tags = ["hello"] if i < 10 else ["world"]
            user = "testuser" if i < 10 else "newuser"
            self.storage.save_post(title="Sample Title%d" % i,
                                   text="Sample Text%d" % i,
                                   user_id=user, tags=tags)
项目:zual    作者:ninadmhatre    | 项目源码 | 文件源码
def setUp(self):
        FlaskBloggingTestCase.setUp(self)
        self._create_storage()
        self.app.config["BLOGGING_URL_PREFIX"] = "/blog"
        self.engine = self._create_blogging_engine()
        self.login_manager = LoginManager(self.app)

        @self.login_manager.user_loader
        @self.engine.user_loader
        def load_user(user_id):
            return TestUser(user_id)

        @self.app.route("/login/<username>/", methods=["POST"],
                        defaults={"blogger": 0})
        @self.app.route("/login/<username>/<int:blogger>/", methods=["POST"])
        def login(username, blogger):
            this_user = TestUser(username)
            login_user(this_user)
            if blogger:
                identity_changed.send(current_app._get_current_object(),
                                      identity=Identity(username))
            return redirect("/")

        @self.app.route("/logout/")
        def logout():
            logout_user()
            identity_changed.send(current_app._get_current_object(),
                                  identity=AnonymousIdentity())
            return redirect("/")

        for i in range(20):
            tags = ["hello"] if i < 10 else ["world"]
            user = "testuser" if i < 10 else "newuser"
            self.storage.save_post(title="Sample Title%d" % i,
                                   text="Sample Text%d" % i,
                                   user_id=user, tags=tags)
项目:drip    作者:Dripitio    | 项目源码 | 文件源码
def create_app(testing=False):
    app = Flask(__name__)

    if os.environ.get('DRIP_ENV', '') == 'production':
        app.config.from_object('drip.config.Production')
    else:
        app.config.from_object('drip.config.Development')

    app.template_folder = os.path.join(PATH, 'templates')

    if not testing:
        # Monitoring.
        newrelic.agent.initialize(os.path.join(PATH, '..', 'newrelic-web.ini'), 'development')

        db = create_mongo(app)

    login_manager = LoginManager()
    login_manager.init_app(app)
    # noinspection PyTypeChecker
    login_manager.user_loader(get_user)
    login_manager.login_view = "user.login"

    # views with jinja templates
    app.register_blueprint(main)
    app.register_blueprint(shopify)
    app.register_blueprint(dashboard)
    return app
项目:flask-breathalyzer    作者:mindflayer    | 项目源码 | 文件源码
def test_succesful_event(app, test_client, path_info, secret_key, user_id):
    @app.route(path_info, methods=['GET', 'POST'])
    def boom():
        1 / 0

    # from http://docs.datadoghq.com/api/
    options = {
        'api_key': '0c82710457ebeaeab1c901c0152852fa',
        'app_key': 'b8e5af1010d49ac73cadde2a5be5ef01b6ae73c6'
    }

    header = 'Accept'
    html = 'text/html'
    headers = {header: html}
    to_ban = ('to ban', 'Guido Van Rossum')
    to_find = ('to find', 'Raymond Hettinger')
    data = dict((to_ban, to_find))
    h_blacklist = ['/{0}'.format(header)]
    d_blacklist = ['/{0}'.format(to_ban[0])]

    app.secret_key = secret_key
    login_manager = flask_login.LoginManager()

    @login_manager.user_loader
    def user_loader(username):
        class User(flask_login.UserMixin):
            def get_id(self):
                return user_id
        return User()

    login_manager.init_app(app)

    ba = Breathalyzer(app, headers_blacklist=h_blacklist, data_blacklist=d_blacklist, **options)
    assert ba.last_event_id is None

    with test_client() as c:
        with c.session_transaction() as sess:
            sess['user_id'] = user_id
            sess['_fresh'] = True
        response = c.post(path_info, data=json.dumps(data), content_type='application/json', headers=headers)

    assert response.status == '500 INTERNAL SERVER ERROR'
    assert b'<title>500 Internal Server Error</title>' in response.data
    assert response.mimetype == 'text/html'
    assert 'ZeroDivisionError' in ba.last_event['event']['text']
    assert ba.last_event_id == ba.last_event['event']['id']
    assert to_ban[1] not in ba.last_event['event']['text']
    assert to_find[1] in ba.last_event['event']['text']
    assert user_id in ba.last_event['event']['text']
项目:lalascan    作者:blackye    | 项目源码 | 文件源码
def create_app(object_name):
    app = Flask(__name__)
    app.config.from_object(object_name)

    db.init_app(app)

    login_manager = LoginManager()
    login_manager.login_view = 'login.login'

    from app.views import login
    from app.views import webscan
    app.register_blueprint(login.login_module)
    app.register_blueprint(webscan.webscan_module)

    return app