Tastypie - 如何仅授权所有者编辑资源

时间:2012-03-30 18:13:33

标签: django api tastypie

我正在使用tastypie创建我的第一个API,我想知道如何设置只有所有者可以编辑它自己的资源。

我应该吗?

  • 创建基本身份验证,例如this示例
  • 检查request.user是否与resource.owner相同
  • 检查请求是否为PUT

这是最好的方法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

是的,你所描述的是一种可行的方法。或者,您可以操纵更新中涉及的方法:put_detail()obj_update(),但您的想法可能更清晰,因为您尝试做的事情毕竟是authorization。因此,代码属于Authorization类,而不属于实际更新对象的方法,因为当用户未被授权更新给定资源时,甚至不应调用这些代码。

您可能还想查看Tastypie Cookbok,它现在有creating "per-user" resoures的“食谱”,它还描述了如何仅列出属于给定用户的资源。