Я объявил свой собственный менеджер безопасности, и внутри него я пытался использовать before_request , чтобы проверить, а затем перенаправить на страницу входа в систему, если сеанс истек для приложения.Однако каждый раз, когда сеанс истекает, а запрос before выполняется и пытается перенаправить приложение, я получаю ошибку ERR_TOO_MANY_REDIRECTS.Я понимаю, почему существует слишком много перенаправлений (потому что запрос before перенаправляет для каждого сделанного запроса), поэтому я пробовал альтернативы, такие как after_this_request , но это возвращает тот же результат.Я убежден, что моя проблема заключается в использовании запроса before, однако пока я не нашел альтернативного решения.
Ниже приведена одна из многих комбинаций кода, которые я пробовал:
def before_request(self):
logging.error(session)
if 'oauth' not in session:
logging.error("Stopping")
redirect_url = request.url_root.strip('/') + self.appbuilder.get_url_for_login
return redirect('https://.../logout redirect_uri=' + quote(redirect_url))
@after_this_request
def relogin(response):
if not current_user.is_authenticated():
logging.error("Not Authorized")
return response
else:
logging.error(session['oauth'])
g.user = current_user