Django:每个视图身份验证方案



django rest 框架确实允许按视图身份验证方案:

http://www.django-rest-framework.org/api-guide/authentication/#setting-the-authentication-scheme

我认为这很方便,我问自己为什么在 django rest 框架中重新发明它。

"为什么django不提供这个?"这个问题很快就会在stackoverflow上关闭。

这就是为什么我问:

如何在 django 中获取按视图身份验证方案?

"为什么 django 不提供这个?">

这是一种意见。我不明白为什么有人应该将特定视图限制为某些身份验证后端。无论我/你的意见是什么,决定都是在Django/DRF中做出的。联系他们的邮件列表并搜索他们的错误存储库,以了解做出特定决定的原因。

如何在 django 中获取按视图身份验证方案?

在确定你知道 Django 是如何工作的之前。阅读所有与身份验证相关的文档,例如此和此文档。

你可以走DRF的方式:完全放弃Django身份验证并自己编写。将 Django 身份验证后端抽象替换为您想要的抽象,并找到一种方法来配置每个视图(例如,使用装饰器在视图函数上设置属性或使用基于类的视图 + 一些字段)。然后添加一个中间件来验证用户,并替换 Django 的AuthenticationMiddleware来提供request.user。您还应该确保诸如login_required之类的东西无需修改即可工作,或者您应该提供替代方案。

最新更新