python - 是否可以在中间件类中重定向?
问题描述
class Middleware:
def __init__(self, app):
self.app = app
def __call__(self, environ, start_response):
request = Request(environ)
cookies = request.cookies
path = request.path
if not isAuthenticated(cookies):
#Redirect to /login
return self.app(environ, start_response)
所以我有一个Middleware
类应该cookies
从中获取request
,然后将其发送到一个函数isAuthenticated
,如果该函数返回我需要重定向到页面,则该函数返回True
或False
现在返回,这可能吗?即使我没有对象,我只有?False
/login
request
environ
解决方案
没有把握。因为 WSGI 中间件位于应用程序本身之外的一层。
您可以使用其他钩子在应用程序/请求上下文中工作。在这种情况下你可以使用flask.request
,flask.redirect()
等等。顺便说一下,你不需要初始化请求(request = Request (Environment)
)。
推荐阅读
- mongodb - MongoDb 客户端设置代理
- assembly - 使用 Cutter 进行简单的逆向工程练习
- rust - 如何将 reqwest 流转换为 actix 流?
- json - 将数据从 ajax 调用传递到 MVC 控制器时,我得到一个空对象或具有空值的对象
- java - 如何在 docker 镜像中禁用 SpringBoot 应用程序中的 Keep alive
- wordpress - Flatsome UX Builder 未加载
- local-storage - localStorage 在 Chrome 中的标签之间不是持久的吗?
- java - 从本机 Java 中的私钥字符串导出 EC 公钥,用于曲线 secp256k1
- vim - vim autocmd 关闭特定选项卡
- wordpress - wordpress 媒体部分没有预览