我不认为编辑DRF源代码有其他方法可以绕过这一部分。我想在Django中添加一个自定义中间件,但是我使用的是DRF TokenAuthentication,我的中间件拦截器需要对request.user进行身份验证。拜托,除了我的回答还有什么更好的方法吗?
gpnt7bae1#
我认为最好的方法是创建自己的TokenAuthentication中间件,并添加到Django中间件来拦截请求,然后使用DRF的SessionAuthentication。我检查了DRF源代码,发现request.user只在SessionAuthentication中使用,因为我已经在AuthenticationMiddleware中拦截了请求,所以SessionAuthentication是验证DRF的最佳方式。
1条答案
按热度按时间gpnt7bae1#
我认为最好的方法是创建自己的TokenAuthentication中间件,并添加到Django中间件来拦截请求,然后使用DRF的SessionAuthentication。
我检查了DRF源代码,发现request.user只在SessionAuthentication中使用,因为我已经在AuthenticationMiddleware中拦截了请求,所以SessionAuthentication是验证DRF的最佳方式。