問題タブ [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 投票する
4 に答える
1222 参照

google-cloud-datastore - Google App Engine の Django-nonrel でグループ権限を機能させる方法

GAE の django-nonrel で機能する役割ベースのアクセス許可を取得しようとしています。

おそらく、Users と Groups の間の暗黙の多対多の関係が原因で、そのままでは機能しないように見えたので、http://www.fhahn.com/writing/Django-s-を見つけてインストールしました。 Django-Nonrel を使用した許可システム。ドキュメントに従って、(djangotoolbox の後) INSTALLED_APPS に permission_backend_nonrel を追加し、settings.py の適切なクラスに AUTHENTICATION_BACKENDS を定義しました。

これにより、以前の問題 (「DatabaseError: このクエリはデータベースでサポートされていません。」) を回避できますが、非常に単純なサンプルを実行すると、必要だと思われるときに空のアクセス許可のセットを取得するため、まだ立ち往生しています。何かを取り戻している。以下は、私ができる限り簡単な例です。python manage.py シェルによって django フレームワークで起動されます。これは単純なポニー ショップです。ユーザーをグループに追加し、そのグループにアクセス許可を付与し、それらのアクセス許可がユーザーの一連のアクセス許可の一部として反映されていることを確認しようとしています。

問題は、上記が機能しないのはなぜで、機能させるには何を変更する必要があるのか​​ということです。

よろしくお願いします。

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

python - Django-共有(非排他的)アクセスを持つDBの保護者

Guardian権限などのアプリのデータを保持する別のローカルDBを使用して、一部のOracleデータベースへのWebフロントエンドであるDjangoアプリを開発しています。問題は、私が制御できないさまざまな場所から変更できることです。

、、の3つのモデルUserがあるThesisとしUserThesisます。

UserThesisThesis-との間の関係を指定するテーブルUserUserの共著者であるThesis

シナリオ:

  1. User他のアプリによってテーブルのThesisエントリを削除することにより、の作成者として削除されます。UserThesis

  2. UserThesisDjangoアプリを使用して変更しようとします。そして、GuardianとDjangoはの変更について知らないため、彼は成功しUserThesisます。

私はいくつかの解決策について考えました:

  1. UserThesisいくつかのcronジョブで、エントリの変更日を確認して変更を探します。追加や削除を簡単に確認するには、すべての関係をもう一度確認する必要があります。

  2. Oracle DBスキーマを変更してGuardianDBテーブルを追加し、UserThesisテーブルにトリガーを作成します。Oracle DBは多数の異なるアプリ間で共有されているため、これは行いたくありません。

  3. ビューとテンプレートの関係を手動でチェックします(Oracleの負荷が高くなります)。

どれが最高ですか?他のアイデアはありますか?

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

django - Djangoの権限はどのように作成されますか?

以下は例外をスローしDoesNotExist:ます:

この権限を手動で作成する必要がありますか?

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

python - djangoのUserモデルにカスタム権限を追加するには?

django では、syncdb が django.contrib.auth がインストールされた状態で実行されると、デフォルトで各モデルにデフォルトのパーミッションが作成されます... foo.can_change 、 foo.can_delete 、 foo.can_add など。モデルにカスタム権限を追加するには、クラス Meta: をモデルの下に追加し、そこで権限を定義します

私の質問は、User モデルにカスタム権限を追加したい場合はどうすればよいですか? foo.can_view のように。次のスニペットでこれを行うことができます。

しかし、syncdb でうまく機能するものが必要です。たとえば、カスタム モデルのクラス Meta です。ユーザーモデルを拡張する方法であるため、これらを UserProfile の下のクラス Meta: に含める必要があります。しかし、それは正しい方法ですか?それは UserProfile モデルに結び付けられませんか?

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

django - Django の行レベルのアクセス許可に最適なアプリは何ですか?

Django の行レベルのアクセス許可に最適なアプリは何ですか?

http://djangopackages.com/grids/g/perms/にそれらの多くがありますが、より有望なものを選択するにはどうすればよいですか?

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

django - オブジェクトレベルのパーミッション ジャンゴ

ユーザーが作成したオブジェクトのみを編集できるようにするにはどうすればよいでしょうか? これを設定する最良の方法は何ですか?

私はdjango-rest-frameworkを使用していますが、ユーザーが「所有」していないオブジェクトの表示/編集を制限できる方法があるかどうか疑問に思っています.

したがって、ユーザー「x」は自分の owner_set 内の動画のみを編集できる必要があります。

0 投票する
3 に答える
4697 参照

django - Django のアクセス許可

Django プロジェクトでより細かい権限を取得したいのですが、使用するアプリを決定できません。私が持っているのは次のようなものです:

Django の標準パーミッションを使用して、追加、変更、削除のいずれかを選択できるようになりました。必要なのは、拡張された変更パーミッションです。たとえば、ロゴを変更するためだけにグループに権限を与える機能を提供しますが、同じグループは許可しません。アイテムの説明を変更します。ユーザーが関係を入力する必要はありませんが、標準の管理インターフェイスを使用してモデルの単一フィールドを編集する可能性をさまざまなグループに与えるだけです。オブジェクトごとの許可について話しているかどうかさえわかりませんか?

何を使用するのが最適か、または自分で実装する方法を知っている人はいますか? また、すべてにアクセス/読み取りできるが変更できない読み取り専用ユーザーがいると想像することもできます。これも不可能です。

助けてくれてありがとう。

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

django - 管理サイトのグループまたはユーザー権限リストに Django モデルを追加または変更する権限を表示するには?

Django Admin サイトを実行でき、SuperUser としてログインすると、モデルも変更できます。この部分は完璧に機能します。スーパー ユーザーではないユーザーとしてログインすると、このモデルを変更するオプションがユーザーに表示されません。スーパー ユーザーとしてログインし、権限リストからこのモデルを変更する権限をこのユーザー/グループに付与しようとしたところ、リストにこの権限が見つかりませんでした。

次の権限が表示されます。

  • 管理者|ログ エントリ|
  • .
  • .
  • 認証|グループ|...
  • 認証|メッセージ|...
  • 認証|許可|...
  • コンテンツ タイプ|...
  • セッション|...

私のModelAdminに関連するものは何もありません。私の admin.py は次のようになります。

ModelAdmin で指定されたモデルを編集できるのはスーパーユーザーだけですか? 選択したモデルに対してグループに許可を与えたい場合はどうすればよいでしょうか。これを行う方法はありますか?ありがとう。

0 投票する
3 に答える
6496 参照

django - Django - 管理者にさまざまなテンプレートを表示する

Django で、「管理者」権限を持つユーザー向けの追加機能を備えたテンプレートを実装する最良の方法は何ですか?

管理者専用のまったく異なる一連のビューを作成する必要があるのか​​ 、それとも「ユーザーが管理者の場合」などの既存のビューやテンプレートに統合する必要があるのか​​ わかりません。

Djangoでこれを行う標準的な方法はありますか?