問題タブ [django-authentication]
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 - 南への移行で認証ユーザーの User.objects.create_user(...) にアクセスするにはどうすればよいですか?
django の認証モジュールを使用する代わりに、私は自分の認証モジュールを使用しましたが、すでに後悔しています。
状況を修正するために、ユーザー モデルから django.auth.models.User にデータを移行しようとしています。
次のようにデータ移行を作成しました。
移行を実行すると、次のエラー (トレースバック) が表示されます。
さらに調査したところ、参照されていた がエラーを説明するManager
時間であることがわかりました。south.orm.NoDryRunManager
今、私が必要create_user
とする理由は、理解できるパスワード ハッシュを作成するdjango.contrib.auth
ことです。
それをすべて言ったので、どうすればこれを行うことができますか?私がいる穴を考えると、最もエレガントな解決策は何ですか?!
前もって感謝します。
更新 1
stevejalimが示唆したように、次のようにUser
'sを使用しようとしました。set_password(...)
ただし、次のエラーで失敗しました:
私は南部のドキュメントに次のようなヒントを見つけました:
南は、モデルのすべての側面を凍結するわけではありません。たとえば、新しいマネージャやカスタム モデル メソッドは保持されません。これは、これらのメソッドを実行する Python コード (およびそれに依存するコードなど) をシリアル化する必要があるためです。
移行でカスタム メソッドが必要な場合は、動作に依存するすべてのインポートを含め、コードをコピーする必要があります。ただし、追加するすべてのインポートについて、そのインポートを移行の期間中有効に保つことを約束していることを忘れないでください。
疑問が残ると思いますが、これを行うための最良/最も安全な方法は何ですか? メソッドをコピーset_password(...)
しますか? パスワードをハッシュする関数を作成しますか? 他のアイデアはありますか?
django - Django Piston の問題 - 「oauth_user_auth() は正確に 1 つの引数 (2 つ指定) を取ります」
Django Piston のセットアップにいくつか問題があります。ここに示されている oauth_client.py サンプル ( http://github.com/clemesha/django-piston-oauth-example ) を使用して、認証を生成するところまで到達しました。「python oauth_client.py」を実行すると、http://localhost:8000/api/oauth/authorize/?oauth_token=8wm33jeWR92BpsrHjsに移動し、ボックスにチェックを入れてアクセスを確認し、フォームを送信します。
この時点で、「oauth_user_auth() は正確に 1 つの引数 (2 つ指定) を受け取ります」というエラーが表示されます。簡単な答えは、確かに、oauth_user_auth メソッドは 1 つのパラメーターを受け入れないということですが、その文字を削除するには、ピストン ファイルを編集する必要があります。他の誰かが以前にこの問題に遭遇したことがありますか?
django - Django認証-ログインページへの間違ったリダイレクトURL
ユーザーがログに記録されていない場合、認証されたユーザーのサイトの領域にのみ入力しようとしていますが?next=
、設定からLOGIN_REDIRECT_URLを使用してログインサイトにリダイレクトする必要があります。/users/login
しかし、私のアドレスバーの代わりに/accounts/login
表示されます。正しいURLを取得するには何を変更する必要がありますか?
設定 :
プロジェクトのURL:
アカウントアプリケーションurls.py:
およびアカウントauth_urls.py(これは単にcontrib.authのURLです):
さらに貼り付ける必要がある場合は、教えてください。
django - Django auth:IPが元のIP(ログインに使用したもの)と一致しない場合にユーザーセッションを禁止する方法
ユーザーの IP がログインに使用した IP と同じでない場合、ユーザー セッションを許可しないように認証を構成または変更するにはどうすればよいですか? 私はできる限り Django サイトを XSS から保護しようとしています。しかし、すべてのベースをカバーしたとは確信できません。最悪の事態が発生し、誰かが私のサイトに XSS を入れることができた場合、少なくともこれにより、既存のユーザー セッションをハイジャックすることを防ぐことができます..
django - Django admin でユーザーがアクティブ化されたときにメールを送信する
特定の人だけが登録できるように、登録を監視するサイトを作成しようとしています。間違いなく、登録フォームの上に私が書いたにもかかわらず、いくつかの不適合が登録されるので、私たちは節度を持って行きます.
登録するdjango.contrib.auth
User
と、プロフィールが作成され、モデレーターにメールが送信されます。モデレーターは Django 管理サイトにログインし、登録が許可されている人物であることを確認し、アカウントを有効にします。彼らが不正に侵入しようとしている場合、アカウントは削除されます。
recaptcha を使用して、自動試行を停止しようとします。
アカウントがアクティブ化または削除されたときに、アカウントの所有者に、アカウントに何が起こったのか、ログインできること、または現在何をしているのか、何をすべきかを知らせるメールを送信したいと考えています。ばかげているのをやめなさい。
これは信号と関係があると思われますが、django.contrib.auth
.
ヒント、手がかり、またはコードはすべて親切に受け入れられます。
django - Django: 直線的な (しかも柔軟な) プロジェクト管理ワークフローを追跡するにはどうすればよいですか?
私は Django でプロジェクト管理アプリケーションを開発しています。これには、さまざまなユーザー グループ (Django auth Groups のように) が関与するやや直線的な応答プロセスが必要です。応答プロセスの各ステップにはいくつかの応答オプションがあり (ほとんどのオプションはステップに固有)、特定のグループ内のユーザーに割り当てられます。プロセスの次のステップは、ユーザーの応答によって決定され、場合によっては、プロジェクトのメンバーの 1 人から追加情報を要求する必要がある場合があります。
問題は、私の現在の実装がやや面倒に思えることであり、応答プロセスを追跡するためのより良い方法があると確信しています。誰かがより堅牢なソリューションへの洞察を提供してくれることを望んでいました。
簡単な例として、営業担当者、営業マネージャー、およびプロジェクト マネージャーのユーザー グループを持つプロジェクトを考えてみましょう。モデルは現在、次のようになっています。
プロセスがどのように機能するかの簡単な概要を次に示します。
- 営業担当者が新しいプロジェクトを作成し、それが営業マネージャーに割り当てられます
営業マネージャーには、(a)プロジェクトを承認する、または
(b) 営業担当者に詳細情報を要求 する、次のオプションが提示されます。- プロジェクトが承認された場合、次のオプションが提示されたプロジェクト マネージャーに
割り当て ます
。 - ユーザーからさらに情報が要求された場合、プロジェクトはそのユーザーに割り当てられ、テキストボックスの応答を提供するだけで済みます。ただし、応答が受信されたら、プロジェクトは前のステップに戻る必要があります (これが、上記の current_step と previous_step を追跡する理由です)。この例では、プロジェクト マネージャーが営業担当者に詳細情報を要求した場合、営業担当者が応答すると、以前と同じ応答オプション (開始、拒否、詳細情報の要求) を使用して、プロジェクトをプロジェクト マネージャーに割り当てる必要があります。
全体のプロセスには、このような約 10 のステップがあります。
さらに複雑なことに、各ステップで選択された応答を表示できるようにする必要もあります。たとえば、セールス マネージャーがプロジェクトを承認した場合、「セールス マネージャーがプロジェクトを承認しました」と、コメントとともに表示する必要があります。モデルは次のようになります。
現在、各応答アクションのロジックはビューにハード コードされており、あるステップと別のステップの間に正式な関係はありません。このワークフローを追跡するために使用する必要がある、より優れたモデル構造またはデータ構造があるように感じますが、現在のシステムを長い間使用しているため、別の方法で考えるのに苦労しています。どんな洞察やインスピレーションも大歓迎です!何か明確にする必要がある場合はお知らせください。
django - DjangoおよびCommonAccessCards(CAC)
Pythonで書かれたWebアプリが計画されており、Djangoはフレームワークとしての主要な候補です。
1つの要件はCACアクセスであり、ユーザー名とパスワードを手動で入力する必要はありません。私の知る限り、CACアクセスはDjangoに含まれている「バッテリー」の一部ではありません。
モノリシックフレームワーク(必ずしも悪い属性ではありません)として、Djangoには、コアを変更するとメンテナンスが高くなるという担当者がいます。DjangoサイトにCACアクセスを簡単に追加できますか?その後も簡単にメンテナンスできますか?
それとも、別のPythonフレームワークを検討する必要がありますか?
参考までに..CACアクセスリンクに関する興味深いプレゼンテーション
django - Django 認証バックエンド
決定されたユーザーの認証バックエンドがサーバー側でどのようにわかるのですか?
python - Djangoサードパーティ認証システム
(新旧)ユーザーにログインするためのサードパーティ認証システムを検討しています。StackOverflowがユーザーを認証する方法とよく似ています。このスキームは、自分の側から認証を行う必要がないため、優れています。私はこれを必要とする -
- Google、Facebook、Twitter、Yahoo、OpenID認証システムを使用してログインします。
- デフォルトのdjango認証システムと同じログイン機能をユーザーに提供します。つまり、@login_requiredデコレータが機能するはずです。
この問題を解決すると主張するDjangoアプリがいくつかあるようです。どれがいいですか?元。Django-SocialAuth、django-openid-auth
django - Django User モデルの 30 文字制限を削除する最も簡単な方法はどれですか?
重複の可能性:
django の auth_user.username を varchar(75) にすることはできますか? どうすればそれができますか?
カスタムのフォームレス認証バックエンドを使用する Django アプリケーションを継承しました。django.contrib.auth.models.User
これは、SQL ハックによって30 文字の制限を回避しますALTER TABLE auth_user MODIFY COLUMN username varchar(90);
。もちろん、これはデータベースに対してのみ有効であり、フォームに対しては有効ではありません。SQL を含むコードからすべてのハッキングを取り除こうとしているので、その制限を取り除く適切な方法を探しています。どのように削除することをお勧めしますか?