return handler app.wsgi_app = TenantPrefixMiddleware(app.wsgi_app) app.session_interface = TenantSessionInterface(os.environ) def auth_path_prefix(): # e.g. /admin/org1/auth return app.session_interface.tenant_path_prefix().rstrip( "/") + "/" + AUTH_PATH.lstrip("/") # create controllers (including their routes) UsersController(app, handler) GroupsController(app, handler) RolesController(app, handler) ResourcesController(app, handler) PermissionsController(app, handler) if app.config.get('QWC_GROUP_REGISTRATION_ENABLED'): RegistrableGroupsController(app, handler) RegistrationRequestsController(app, handler, i18n, mail) access_control = AccessControl(handler, app.logger) plugins_loaded = False @app.before_first_request def load_plugins(): global plugins_loaded
# get next lookup level lookup = lookup.get(part) else: # lookup level too deep lookup = None if lookup is None: # return input value if not found lookup = value break return lookup # create controllers (including their routes) UsersController(app, config_models) GroupsController(app, config_models) RolesController(app, config_models) ResourcesController(app, config_models) PermissionsController(app, config_models) if app.config.get('QWC_GROUP_REGISTRATION_ENABLED'): RegistrableGroupsController(app, config_models) RegistrationRequestsController(app, config_models, i18n, mail) acccess_control = AccessControl(config_models, app.logger) @app.before_request @jwt_optional def assert_admin_role(): identity = get_jwt_identity() app.logger.debug("Access with identity %s" % identity)