在settings.py中将默认身份验证全局设置为IsAuthenticated,意味着只有经过身份验证的用户才能访问Django Rest框架中的端点。这是一种常见的安全措施,以确保只有授权的用户可以访问受保护的资源。
然而,即使设置了IsAuthenticated,你仍然可以访问Django Rest框架中的端点的原因可能是以下几种情况:
- 未正确配置身份验证类:在settings.py中,你需要指定身份验证类,例如使用TokenAuthentication或SessionAuthentication。如果未正确配置身份验证类,即使设置了IsAuthenticated,也无法实现身份验证。
- 使用了其他身份验证类:除了IsAuthenticated之外,可能还使用了其他身份验证类,例如AllowAny或IsAdminUser。这些身份验证类可能会覆盖IsAuthenticated的设置,允许未经身份验证的用户访问端点。
- 未正确应用身份验证装饰器:在视图函数或类视图中,你需要使用身份验证装饰器来确保只有经过身份验证的用户才能访问。例如,可以使用@api_view装饰器或APIView类的装饰器属性来限制访问权限。
综上所述,如果在设置中将默认身份验证全局设置为IsAuthenticated,但仍然可以访问Django Rest框架中的端点,你需要检查身份验证类的配置、其他身份验证类的使用以及是否正确应用了身份验证装饰器。确保这些设置正确无误,以实现只有经过身份验证的用户才能访问端点的要求。
腾讯云相关产品和产品介绍链接地址:
- 腾讯云身份认证服务(CAM):https://cloud.tencent.com/product/cam
- 腾讯云API网关:https://cloud.tencent.com/product/apigateway
- 腾讯云访问管理(TAM):https://cloud.tencent.com/product/tam