問題タブ [remoteusermiddleware]

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

python - RemoteUserMiddleware が機能していません。/accounts/login/?next= にリダイレクトされるだけです

を使用して、Django で単純なWWW-AuthenticateHTTP 認証を実行しようとしていREMOTE_USERます。これはRemoteUserMiddlewareで行われます。

残念ながら、私の設定ファイルを次のように変更した後:

@login_requiredビューにデコレータを追加しても機能しません。ページを表示するaccounts/login/?next=/page/I/tried/to/accessと、存在しない に移動し、404 エラーが発生します。

送信しないのはなぜWWW-Authenticateですか?これが正しい方法ではない場合、どうすればよいですか?

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

django - 管理サイトでリモートユーザーを追加するDjango

Shibboleth 対応サーバーで Django サイトを実行しているため、リモート ユーザー認証バックエンドを使用しています。すべてのユーザーは、このサービス (LDAP など) を介して認証されます。これは私にとってはうまくいきます。ただし、私のサイトはロックダウンされているため、staff グループに属するユーザーのみがビューにアクセスできます。そのため、「スーパーユーザー」がデータベースまたは管理サイトにアクセスして、ユーザーをスタッフに変更する必要があります。Django 管理サイトでリモート ユーザーを事前作成/事前承認できるように、このワークフローを好転させたいと考えています。アカウントの「スタッフ」フラグ。

問題は、Django 管理サイトがすべての新規ユーザーのパスワードを入力することを期待していることです。ただし、私のデータベースでは、リモート ユーザーのパスワード フィールドは空白です。パスワード フィールドの内容はリモート認証には関係ないように見えますが、スーパー管理者がすべての人に「偽の」パスワードを設定する必要はないようにしたいと思います。 .

MySQL データベースで直接ユーザーを作成すると、パスワード フィールドを空白のままにしておくことができるため、リモート ユーザーを問題なく作成できます。ただし、他のスーパー管理者にデータベースへの直接アクセスを渡したくないです。

この SO postに従って、管理サイトからパスワード フィールドを削除しようとしました。しかし、フィールド (パスワードなど) が不足しているという検証エラーが返されます。

私のadmin.py:

質問: Django セットアップで許可されたリモート ユーザーを事前設定する最良の方法は何ですか? MySQL で 1.5.1 を実行しています。カスタムのユーザー追加ビューを作成する場合、それが最も簡単な方法ですか? または、既存の Django 管理ビューを何とか利用する方法はありますか?

ありがとう!