Djangoのユーザに機能パーミッションを割り当てる方法はありますか? documentationsからDajngoのアクセス許可がモデルにバインドされているようです。Djangoの機能パーミッション
例えば、私が作成したいのは、通常ユーザー、管理者、管理者、およびスーパー管理者の4種類のユーザーグループです。
デフォルトでは、異なるグループのユーザーは、さまざまな種類の操作を実行するためのアクセス権を持ちます。たとえば、AdminグループのユーザーはTask1、Task2、Task3を実行できますが、ManagersグループのユーザーはTask1とTask2のみを実行できます。
さらに、ユーザーが特定のタスクを実行してアクセスを取り消すようにユーザー権限を変更することもできます。たとえば、デフォルトではすべての管理者がTask1、Task2、およびTask3を実行できますが、特定の管理者のアクセス許可を変更してTask1とTask3のみを実行することもできます。
これはDjangoの権限とグループを構築することで実現できますか、独自の権限システムを作成する必要がありますか(またはこれを行うサードパーティのDjangoアプリがありますか)?
独自の許可とグループシステムを作成する方がよい場合は、設計に従うようにしてください。
ありがとうございます!
has_permissionデコレータは、ビューのために使用できます。つまり、ユーザー、グループ、アクセス許可などの多くの管理が可能です。 ロールベースのアクセス制御にdjango-guardianを使用しています。それはあなたのニーズに合うかもしれません。 – fiacre