django-rest-framework - DRF - 使 api 仅对已知客户可用
问题描述
我有一个 DRF api,它没有任何身份验证系统(因为 a 的概念在user
那里毫无意义)。但我想让 api 仅限于已知客户。换句话说,我想提出api-to-api
身份验证而不是user-to-api
身份验证。这可能在 DRF 中吗?那里有现成的库吗?
解决方案
您可以为此使用权限类。定义继承自的权限类permissions.BasePermission
from rest_framework import permissions
class SamplePermission(permissions.BasePermission):
def has_permission(self, request, view):
return request.META.get('HTTP_YOUR_KEY','') in ['some_key']
并在您的视图中将其定义为 permission_classes
class SampleViewSet(views.APIView):
...
permission_classes = [SamplePermission]
我不能说这是最好的方法,但你可以使用它。
推荐阅读
- java - OpenCSV,如何通过自定义处理写入 csv?
- c++ - 在多次运行中获得一致的 callgrind 输出
- sql - 如何根据其他列的排名在表中设置新列?
- javascript - 将单选按钮值更改为文本输入的值
- c# - 统一翻转精灵
- arm - 当我在进入中断处理程序之前清除中断标志时发生了什么?
- swift - 为什么应用程序图标在 iOS 上如此模糊,当它在 1024x1024 下看起来很好时,如何解决这个问题以使图像更清晰?
- c# - C#获取资源文件夹的相对路径
- javascript - 使用 npx create-react-app 创建的应用无法启动,
- kotlin - Kotlin 的 REPL println 不打印到新行,而是将所有内容打印到同一行