1

問題

私は Django REST Framework を使用しています。これまでのところ、DjangoObjectPermissionsパーミッション クラスを使用しています。django-rulesどのユーザーがオブジェクトのアクセス許可を持っているかを判断するために使用します。

ただし、この権限クラスは、匿名ユーザーへの読み取りアクセスを拒否しているようです。

すべてのユーザー (認証されているかどうかに関係なく) に読み取り専用アクセスを許可する最善の方法を見つける必要があります。追加、変更、および削除については、通常どおりオブジェクト権限を適用する必要があります。

この問題を解決する最善の方法は何ですか? can_viewDjango はデフォルトでパーミッションを提供していないようです。

おそらく、これにはcan_view各モデルの権限を手動で追加する必要があります。それとも、どうにかしてDjangoObjectPermissionsOrAnonReadOnly権限クラスを実装したほうがよいでしょうか?

4

2 に答える 2

3

修正は実際には非常に簡単でした。を拡張するカスタム権限クラスを作成し、変数DjangoObjectPermissionsをオーバーライドすることができます。authenticated_users_only

class DjangoObjectPermissionsOrAnonReadOnly(DjangoObjectPermissions):
    authenticated_users_only = False
于 2016-09-04T16:34:29.643 に答える