使用TastyPie我有一个拥有FK用户的模型资源.当我对API发布POST时,我必须包含这样的用户ID:
data : JSON.stringify({ name : 'value a',user : '12' }),
我的用户必须通过登录或使用API密钥以及用户名和密码进行身份验证.在这两种情况下,我都知道用户是谁.
1)如何让用户确保user1不为user2创建资源?
解决方法
回答问题#1:Tastypie文档描述了
how to create per-user resources.假设用户已经是请求的一部分:
class MyResource(ModelResource): class Meta: queryset = MyModel.objects.all() resource_name = 'environment' list_allowed_methods = ['get','post'] authentication = ApiKeyAuthentication() authorization = Authorization() # Only allow creation of objects belonging to the user def obj_create(self,bundle,**kwargs): return super(EnvironmentResource,self).obj_create(bundle,user=bundle.request.user) # Only allow accessing resources for this user def apply_authorization_limits(self,request,object_list): return object_list.filter(user=request.user)
要回答问题#2,您应该让用户成为会话的一部分.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。