24 lines
586 B
Python
24 lines
586 B
Python
|
# -*- 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
|