我正在使用DRF,并遇到了这个问题。我有一个第三方视图,我在urls.py
文件中像这样导入:
from some_package import some_view
urlpatterns = [
path('view/',some_view)
]
但我面临的问题是,由于我在settings.py
中启用了默认权限类,就像这样:
REST_FRAMEWORK = {
'DEFAULT_AUTHENTICATION_CLASSES': (
'rest_framework.authentication.TokenAuthentication',
),
'DEFAULT_PERMISSION_CLASSES':(
'rest_framework.permissions.IsAuthenticated',
),
}
现在当我使用URL调用该视图时,它会显示身份验证错误,因为我没有提供令牌。有没有一种方法可以绕过身份验证错误,而不必直接更改视图?我知道我们可以删除该特定视图的权限,但这将需要对some_view
函数代码进行更改。但是我不想这样做,假设我们无法访问该函数,我们只能传递数据并接收响应。如何在不更改该函数代码的情况下绕过身份验证。
我尝试搜索但找不到我要找的内容。
我认为可能有一种方式可以通过urls.py实现这一点,例如指定任何参数或类似的东西,使该特定视图绕过身份验证而不必更改函数代码。
类似于以下内容:
from some_package import some_view
urlpatterns = [
path('view/',some_view,"some_parameter") #passing someparameter from here or something like that
]
我正在寻找的是否可能?谢谢提前!
authentication_classes
。这对你有用吗? - yvesonlineDEFAULT_AUTHENTICATION_CLASSES
和DEFAULT_PERMISSION_CLASSES
,并将其放入自己的父类中进行身份验证和授权,然后在视图中继承该类。这样,你的第三方视图就不会默认使用settings.py
中提供的内容,因为你没有提供任何内容。 - yvesonline