I'll not implement a fully-featured AOP framework by my own;
Interceptor pattern will be used for implementation of Aspects;
dynamic nature of the Python language will be used for implementation of Interceptors;
interceptor objects will be created in runtime explicitly on everpl start-up, just after instantiation of the corresponding objects to be wrapped (like Services);
Authorization checking will be implemented via Context Managers.
Choose some AOP framework to be able to:
So, some sort of middleware is needed to perform such tasks prettily