# -*- encoding: utf-8 -*- from aiohttp.web import middleware, HTTPFound from phi.web import app from phi.async_ldap.model import Hackers, Robots, Roles @middleware async def authenticated(request, handler): try: store = request.app["store"] except KeyError: raise HTTPFound(app.LOGIN_ROUTE) client = await store.get_client(request) request.app["ldap_client"] = client request.app["users"] = Hackers(client) request.app["services"] = Robots(client) request.app["groups"] = Roles(client) resp = await handler(request) return resp