問題タブ [django-permissions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1972 参照

django - Django-guardian - オブジェクトの作成時にデフォルトの権限を割り当てる場所

必然的にユーザー自身が管理する複雑な権限構造を持つアプリを開始しています。モデルには次の権限があります。

これらは Django-guardian を使用してオブジェクト レベルで管理され、さまざまな組み合わせと機能のすべてに対処するためにカスタム ミックスインを使用しています。

「作成者」権限はオブジェクトの最初の作成者に割り当てられ、電子メール ベースの招待システムを介して他の権限をユーザーに割り当てることができます。

私の質問は、オブジェクトの作成時に作成者のアクセス許可を割り当てるためのオプションに関するものです。

これまでに私が考えたいくつかのアプローチ:

保存後にビューに割り当てる

ただし、一般的に、私はこれらのタイプのイベントを自分のビューから除外することを好みます。

save() をオーバーライドする

この方法の問題点は、ユーザー オブジェクトへの保存アクセス権を付与する必要があることです。これは、initをオーバーライドして、self.request = request を設定することも意味します。

post_save シグナル

このシグナルを利用できることはわかっていますが、前の 2 つと比較して、まだ実装を試みていません。

うまくいけば、これで私がどこにいるのかについて十分な洞察が得られます。

これらの方法の中で何が最善であるか、またはそれらがすべて悪い考えである場合は、代替の実装が何であるかを知りたいです.

ありがとう、

JD

0 投票する
1 に答える
230 参照

django - サード パーティの行レベルのアクセス許可アプリを使用するか、Django ビューでクエリ結果をフィルター処理する方がよいでしょうか?

ドキュメントの作成を伴う Django アプリを作成しています。いくつかの要件があります。

  1. ユーザーがドキュメントを表示できるかどうかを確認します。
  2. ユーザーがドキュメントの表示を許可されている場合は、権限のあるドキュメントの表示のみを許可します。

私は2つの解決策を考え出しましたが、一方が哲学的/実際的に優れているかどうか疑問に思っています.

私が思いついた2つの解決策は次のとおりです。

解決策 1 (サードパーティの Django-Guardian を使用)

Models.py

views.py

解決策 1 の欠点は、オブジェクトを作成するたびにアクセス許可を明示的に設定する必要があることと、データベースに 2 回アクセスする必要があることです。

解決策 2 (組み込みの Django アクセス許可を使用)

Models.py

views.py

解決策 1 の欠点は、2 つのチェックを行う必要があることです。これのプラス面は、すべてのドキュメントを表示できるようにしたい管理者がいる場合、各ドキュメントに明示的に許可を与える必要がないことです。彼に「ドキュメントの表示」権限を与えるだけです。

どちらのソリューションにも長所と短所があるようです。理論/実践で優れているものはありますか?

0 投票する
1 に答える
823 参照

django - Django UserProfile モデルでのグループ権限の継承

3 つのユーザー グループしか持たないことが事前にわかっているプロジェクトがあるとします。GroupParent から継承して事前に定義し、これらのグループの選択肢を使用して UserProfile にフィールドを追加できますか?? これは基本的に私がやりたいことです:

これは合理的なアプローチですか、それともアプリが構築されたら (または構築中に) グループとアクセス許可をあきらめて設定する必要がありますか?

また... django のデフォルトの許可機能よりも django-guardian を使用する利点は何ですか?また、これらのモデルで使用する場合は何に注意すればよいですか? ありがとう!

0 投票する
1 に答える
287 参照

django - (adminを使用せずに)Djangoでユーザーの特権を設定するにはどうすればよいですか?

私はDjangoを初めて使用し、テンプレートのadminを使用せずに特権を設定したいと考えていました。

0 投票する
8 に答える
30101 参照

django - コンテンツ タイプまたはモデルを定義せずに Django のアクセス許可を使用するにはどうすればよいですか?

許可ベースのシステムを使用して、Django アプリケーション内の特定のアクションを制限したいと考えています。これらのアクションは、特定のモデル (アプリケーション内のセクションへのアクセス、検索など) に関連付ける必要はありません。そのため、ストック パーミッション フレームワークを直接使用することはできません。これは、Permissionモデルがインストール済みのコンテンツ タイプへの参照を必要とするためです。

独自のパーミッション モデルを作成することもできますが、Django パーミッションに含まれる次のような機能をすべて書き直す必要があります。

django-authoritydjango-guardianなどのいくつかのアプリを確認しましたが、オブジェクトごとのアクセス許可を許可することで、モデル システムにさらに結合されたアクセス許可を提供しているようです。

Userプロジェクトのモデル (および以外) を定義せずに、このフレームワークを再利用する方法はありGroupますか?

0 投票する
2 に答える
1978 参照

django - Djangoprefetch_relatedおよび多対多対多の関係

私はこれらのモデルを持っています:

最大2つのSELECTSを使用して、すべてのユーザー権限('permissions'および'roles__permissions')を読み取りたい。

prefetch_related('permissions', 'roles__permissions')UserProfileManagerに追加しようとすると、3つのSELECTが表示されます(権限、役割、およびroles__permissions)

どうやってするの?

0 投票する
1 に答える
2165 参照

django - 読み取り専用のユーザーの管理パネル権限をカスタマイズします(削除、編集、追加は不可)

エンドユーザーにadmin-panelを使用して、作成されたオブジェクトを表示してもらいたいのですが、作成されたオブジェクトを追加、削除、または編集したくありません。ただし、django管理パネルのユーザー設定では、権限のみが追加、削除、または編集されます。これを行う方法はありますか?

0 投票する
4 に答える
2017 参照

django-permissions - オブジェクトがdjangoガーディアンで特定の権限を持つすべてのユーザーを取得するにはどうすればよいですか?

がある

しかし、どうですか

ありがとう。

0 投票する
1 に答える
125 参照

django - Django パーミッションのアドバイス

私は Django 1.5 プロジェクトで実際に岐路に立っています。右折または左折する前にコミュニティのアドバイスが必要です。

ここに私のモデルがあります記事 モデル

と私のゾーンモデル

各記事は地理的な「ゾーン」にあります。

私のすべてのユーザーも同じ「ゾーン」に依存しており、ユーザーと同じ「ゾーン」に属する記事を編集/追加/削除できます。

パス #1:

django-guardian と連携する必要があります。長期的に見れば報われるか、やり過ぎか?

パス #2:

ForeignKey CustomUser Model <-> Zone Model <-> Article Model を設定するだけです。次に、先に進む前に、各ビューで CustomUser.Zone == Article.Zone かどうかを確認します。

パス #3:

あなたの電話。

0 投票する
1 に答える
670 参照

django - パーミッションへのDjango外部キー

required_permissionアクセス許可の外部キーとなる別のフィールドを追加したいと思います。そのフィールド定義はどのように見えるべきですか?

この背後にある理由は、テンプレートでは、このようなもの (疑似コード) を使用できるためです。