問題タブ [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.
django - django-guardian によって割り当てられた権限を持つオブジェクトが管理者に表示されない
オブジェクトごとのアクセス許可を管理するために、django-guardianを使用しています。
特定のユーザーに対して、1 つのオブジェクトに対するすべてのアクセス許可を与えます。
期待どおり、次のようになります。
admin.py では、TaskAdmin をGuardedModelAdmin
代わりに継承させます。admin.ModelAdmin
joe で自分のサイトに接続すると、admin で次のようになります。
オブジェクト mytask を編集できないのでしょうか?
組み込みのモデルベースのアクセス許可システムを使用していくつかのアクセス許可を設定する必要がありますか?
何か不足していますか?
編集
user_can_access_owned_objects_only
私の問題に対処するはずのオプションを追加しようとしましたが、まだ管理画面に何も表示されません...
ありがとうございました
django - Django Guardian でユーザーの既定のアクセス許可を定義するにはどうすればよいですか?
Django でユーザーを作成すると、権限がありません。
デフォルトでいくつかの権限を設定したい(たとえば、「api.add_item」) 。 Django Guardianを使用しています。これは宣言的な方法で行うことができますか?post_save シグナルを書き込まずに?
django - 'Add or Edit'のpermission_required_or_403デコレータ?
新しいモデルを追加したり、現在の「本」モデルを(フォームを介して)編集したりするための典型的なdjangoビューのセットアップがあります。これは本質的なものです:
これにデコレータを配置して、編集をブックを作成したユーザーに限定したいと思います。django-guardianを使用して、上記のコードをラップする次のデコレータがあります。
これは、すでに作成されているブックを編集するシナリオでは問題なく機能します。つまり、ユーザーが作成者でない場合は403がスローされます。ただし、新しい本を追加すると、bookidは空になり、デコレータコードがクラッシュします。このシナリオを(編集機能と追加機能を分離せずに)処理する良い方法はありますか?
ありがとう、ジェリー
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
配列の最後のアプリです。
django - サード パーティの行レベルのアクセス許可アプリを使用するか、Django ビューでクエリ結果をフィルター処理する方がよいでしょうか?
ドキュメントの作成を伴う Django アプリを作成しています。いくつかの要件があります。
- ユーザーがドキュメントを表示できるかどうかを確認します。
- ユーザーがドキュメントの表示を許可されている場合は、権限のあるドキュメントの表示のみを許可します。
私は2つの解決策を考え出しましたが、一方が哲学的/実際的に優れているかどうか疑問に思っています.
私が思いついた2つの解決策は次のとおりです。
解決策 1 (サードパーティの Django-Guardian を使用)
Models.py
views.py
解決策 1 の欠点は、オブジェクトを作成するたびにアクセス許可を明示的に設定する必要があることと、データベースに 2 回アクセスする必要があることです。
解決策 2 (組み込みの Django アクセス許可を使用)
Models.py
views.py
解決策 1 の欠点は、2 つのチェックを行う必要があることです。これのプラス面は、すべてのドキュメントを表示できるようにしたい管理者がいる場合、各ドキュメントに明示的に許可を与える必要がないことです。彼に「ドキュメントの表示」権限を与えるだけです。
どちらのソリューションにも長所と短所があるようです。理論/実践で優れているものはありますか?
django - ジャンゴガーディアン get_objects_for_group
行レベルのアクセス許可をすべてのモデルに統合して、リストが単純な JOIN になるようにする最善の方法は何ですか?
クエリセットを返すために、このようなショートカットが必要です
この呼び出しはクエリ以上の結果になります
django-permissions - オブジェクトがdjangoガーディアンで特定の権限を持つすべてのユーザーを取得するにはどうすればよいですか?
がある
しかし、どうですか
ありがとう。
python - 所有しているコンテンツのみにアクセスを制限する django
django-tastypieを使用して API を作成しています。django-guardianが修正できることを望んでいるカスタム許可の問題が 2 つあります。
臨床医と患者の 2 つのユーザー グループがあります。臨床医は自分の患者のみに属するオブジェクトにアクセスできる必要があり、患者は自分で作成したオブジェクトにのみアクセスできる必要があります。
私のコードは次のとおりです。
アクセス許可を使用してこれへのアクセスを制限するにはどうすればよいBlogPostResource
ですか?
django - django-guardianを使用したロールベースのアクセス
私は役割ベースの許可を与えるためにdjango-guardianを使用し、ユーザープロファイリングのためにdjango-userenaを使用しています。管理者、サブ管理者、従業員の3種類のユーザーがいます。管理者はサブ管理者を追加でき、サブ管理者は従業員を追加できます。3つのユーザータイプの保護者に3つのグループを作成しました。ユーザーがサインアップするときに、そのユーザーに従業員グループを割り当てます。
Django管理者を使用して、管理者と副管理者にユーザーのグループを変更する機能を提供したいと思います。
AdminModelを使用して管理パネルにドロップダウンボタンまたはラジオボタンを追加して、ユーザーのグループを変更するにはどうすればよいですか。または、それを行うためのより良いアプローチはありますか?