2016-03-29 20 views
0

Djangoには簡単な権限システムが付属しています。特定のユーザーおよびユーザーグループに権限を割り当てる方法を提供します。このように: 'app_lable.model_name' djangoの管理者にとっては便利かもしれませんが、私はそれを使って人々が何をすることができるかを制御するのは難しいと思います。Djangoの許可システムとの混乱

たとえば、特定のユーザーが自分のサイトのコメントを投稿したり、一部のコンテンツを表示できるかどうかを制御したいとします。私は彼に許可グループを設定する必要がありますが、なぜ単にcan_postやcan_view_certain_portionのようなユーザープロパティを追加しないのですか?それはより直感的です。 誰が私にそれらのことを理解させるのを助けることができますか?前もって感謝します。

答えて

2

別のモデルでパーミッションを維持する理由は、グループを活用するためです。

多くのユーザーのアクセス許可を一度に変更する必要がある場合は、割り当てられているグループのアクセス許可を単純に更新することができます。

また、ユーザーは複数のグループに所属できるため、ユーザーごとにアクセス許可をカスタマイズする方が柔軟性があります。

バニラのdjango権限はモデルベースなので、特定のフィールドのみを異なるユーザーに変更することを制限する必要がある場合は、django-guardianのようなより堅牢なものが必要になります。

関連する問題