Django rest framework Permissions

AllowAny:任何人都可以访问

IsAdminUser:除了user.is_staff是true以外的都会被拒绝,也就是管理员才可以访问

IsAuthenticated:只有注册用户才能访问

IsAuthenticatedOrReadOnly:注册用户可以以任何方法访问,没有注册的用户只能以安全方法(GET,HEAD,OPTIONS)访问.就是说api可以被任何用户read,但是只能被注册用户write.

DjangoModelPerssions:这和Django的标准模块django.contrib.auth相联系.这个permission只能被用于有.queryset属性的views.只有用户是注册用户并且有相关model的权限时才会有效.

  • POST:用户必须拥有add权限
  • PUT和PATCH:用户必须拥有change权限
  • DELETE:用户必须拥有delete权限

DjangoModelPerssionsOrAnonReadOnly:类似DjangoModelPermissions,但是允许非注册
用户以只读用户访问api

DjangoObjectPerssions:类似于DjangoModelPermissions,这个permission作用于.queryset或.get_queryset()的view.只有有相关的per-object权限和相关的model权限才可以使用.如果希望你的view的GET, HEAD,OPTIONS使用对象级的访问权限控制,可以考虑添加DjangoObjectPerssionsFilter类.

猜你喜欢

转载自blog.csdn.net/ls_ange/article/details/85287305