問題タブ [django-guardian]

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 投票する
2 に答える
3663 参照

django - django-guardian によって割り当てられた権限を持つオブジェクトが管理者に表示されない

オブジェクトごとのアクセス許可を管理するために、django-guardianを使用しています。

特定のユーザーに対して、1 つのオブジェクトに対するすべてのアクセス許可を与えます。

期待どおり、次のようになります。

admin.py では、TaskAdmin をGuardedModelAdmin代わりに継承させます。admin.ModelAdmin

joe で自分のサイトに接続すると、admin で次のようになります。

オブジェクト mytask を編集できないのでしょうか?

組み込みのモデルベースのアクセス許可システムを使用していくつかのアクセス許可を設定する必要がありますか?

何か不足していますか?

編集

user_can_access_owned_objects_only私の問題に対処するはずのオプションを追加しようとしましたが、まだ管理画面に何も表示されません...

ありがとうございました

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

django - Django Guardian でユーザーの既定のアクセス許可を定義するにはどうすればよいですか?

Django でユーザーを作成すると、権限がありません。

デフォルトでいくつかの権限を設定したい(たとえば、「api.add_item」) 。 Django Guardianを使用しています。これは宣言的な方法で行うことができますか?post_save シグナルを書き込まずに?

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

django - 'Add or Edit'のpermission_required_or_403デコレータ?

新しいモデルを追加したり、現在の「本」モデルを(フォームを介して)編集したりするための典型的なdjangoビューのセットアップがあります。これは本質的なものです:

これにデコレータを配置して、編集をブックを作成したユーザーに限定したいと思います。django-guardianを使用して、上記のコードをラップする次のデコレータがあります。

これは、すでに作成されているブックを編集するシナリオでは問題なく機能します。つまり、ユーザーが作成者でない場合は403がスローされます。ただし、新しい本を追加すると、bookidは空になり、デコレータコードがクラッシュします。このシナリオを(編集機能と追加機能を分離せずに)処理する良い方法はありますか?

ありがとう、ジェリー

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

python - Django:既にオーバーライドされている管理テンプレートをオーバーライドできませんか?

change_form.htmlモデルの Django 管理ビューにコンテンツを追加するために、テンプレートをオーバーライドしたいと考えています。ドキュメントによるとchange_form.html、フォルダーにファイルを作成する必要があります/project-path/templates/admin/appname/modelname/。もちろん、このパスが で利用可能であることを確認する必要がありますTEMPLATE_DIRS。このようなファイルは次のようになります。

ただし、私はdjango-guardianを使用してオブジェクト権限を取得しています。この Django アプリもオーバーライドchange_form.htmlします (問題なく動作します。関連するソースはここにあるようです) が、Django はテンプレート拡張ファイルを取得しません (つまり、上記のサンプルの「SOME CONTENT」は表示されません)。オーバーライドしたいブロック/パーツは、django-guardian がオーバーライドするものと同じではなくchange_form.html、最終的には django-guardionテンプレートを追加したいと考えています。

ここで何が間違っていますか?また、管理テンプレートをオーバーライドする複数のアプリケーションを持つことはまったく可能ですか?

興味がある場合、これは私のTEMPLATE_LOADERS設定です:

また、django-guardian はINSTALLED_APPS配列の最後のアプリです。

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 投票する
0 に答える
153 参照

django - ジャンゴガーディアン get_objects_for_group

行レベルのアクセス許可をすべてのモデルに統合して、リストが単純な JOIN になるようにする最善の方法は何ですか?

クエリセットを返すために、このようなショートカットが必要です

この呼び出しはクエリ以上の結果になります

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

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

がある

しかし、どうですか

ありがとう。

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

python - 所有しているコンテンツのみにアクセスを制限する django

django-tastypieを使用して API を作成しています。django-guardianが修正できることを望んでいるカスタム許可の問題が 2 つあります。

臨床医と患者の 2 つのユーザー グループがあります。臨床医は自分の患者のみに属するオブジェクトにアクセスできる必要があり、患者は自分で作成したオブジェクトにのみアクセスできる必要があります。

私のコードは次のとおりです。

アクセス許可を使用してこれへのアクセスを制限するにはどうすればよいBlogPostResourceですか?

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

django - django-guardianを使用したロールベースのアクセス

私は役割ベースの許可を与えるためにdjango-guardianを使用し、ユーザープロファイリングのためにdjango-userenaを使用しています。管理者、サブ管理者、従業員の3種類のユーザーがいます。管理者はサブ管理者を追加でき、サブ管理者は従業員を追加できます。3つのユーザータイプの保護者に3つのグループを作成しました。ユーザーがサインアップするときに、そのユーザーに従業員グループを割り当てます。

Django管理者を使用して、管理者と副管理者にユーザーのグループを変更する機能を提供したいと思います。

AdminModelを使用して管理パネルにドロップダウンボタンまたはラジオボタンを追加して、ユーザーのグループを変更するにはどうすればよいですか。または、それを行うためのより良いアプローチはありますか?