gpt4 book ai didi

django - 在身份验证中间件之后调用自定义中间件

转载 作者:行者123 更新时间:2023-12-04 20:28:13 25 4
gpt4 key购买 nike

在 Django REST framework 中,身份验证中间件仅在执行 View 中间件之后才在请求中设置用户对象,而在此之前执行任何自定义中间件。在身份验证中间件设置用户对象后,是否有某种方法可以更改此顺序并执行自定义中间件

作为替代方案,我在中间件本身中创建了用户对象,它工作正常,但这只是一个 hack。

在 common.py 中定义的中间件是:

MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'application.middlewares.IPsBlockerMiddlewareHook',
'application.middlewares.UserMiddleware',
]

有问题的自定义中间件是 UserMiddleware。我需要在身份验证后执行它,但似乎并非如此

最佳答案

中间件在请求到来时按从上到下的顺序执行,在发送响应时按从下到上的顺序执行。您可以在身份验证中间件之后指定自定义中间件,然后它将运行。

关于django - 在身份验证中间件之后调用自定义中间件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53226670/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com