2012-03-30 2 views
1

Я создаю свой первый API с tastypie, и я хотел бы знать, как я могу установить, что только владельцы могут редактировать свои собственные ресурсы.Tastypie - Как разрешить только владельцу редактировать ресурс

Должен ли я?

  • создать базовую аутентификацию, как в примере this проверки
  • если request.user то же самое в resource.owner
  • проверки, если запрос является PUT

Является ли это лучший способ это сделать?

Спасибо!

ответ

1

Да, то, что вы описали, является хорошим способом сделать это. В качестве альтернативы вы можете манипулировать методами, связанными с обновлениями: put_detail() и obj_update(), но ваша идея, вероятно, немного чище, так как после всего, что вы пытаетесь сделать, это obviosuly authorization. Поэтому код принадлежит классу Authorization не в методах, которые фактически обновляют объекты, поскольку они не должны даже вызываться, когда пользователь не уполномочен обновлять данный ресурс.

Вы также можете посмотреть Tastypie Cookbok, который теперь имеет «рецепт» для creating "per-user" resoures, который также описывает, как перечислять ресурсы, принадлежащие данному пользователю.

Смежные вопросы