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类.