問題タブ [django-auth-ldap]

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

python - Django Auth LDAP - sAMAccountName を使用した直接バインド

Django Auth LDAP を使用してユーザーを認証する方法は 2 つあります。

  1. 検索/バインドおよび
  2. ダイレクトバインド。

最初の方法では、LDAP サーバーに匿名または固定アカウントで接続し、認証ユーザーの識別名を検索します。次に、ユーザーのパスワードを使用して再度バインドを試みることができます。

2 番目の方法は、ユーザー名からユーザーの DN を取得し、ユーザーとして直接バインドを試みることです。

アプリケーションにアクセスしようとしているユーザーのユーザー ID (sAMAccountName) とパスワードを使用して、直接バインドできるようにしたいと考えています。これを達成する方法があれば教えてください。現時点では、以下で説明する問題により、この作業を行うことができないようです。

私の場合、LDAP のユーザーの DN は次の形式です。

これは基本的に「CN=FirstName LastName,OU=Users,OU=Central,OU=US,DC=client,DC=corp」に変換されます。

これは、ユーザーのsAMAccountNameがsjonesであり、これがユーザー名 (%user) に対応するパラメーターであるため、Direct Bind を使用できないためです。適切なAUTH_LDAP_USER_DN_TEMPLATEを構成してユーザーの DN を取得する方法がわかりません。使用しています。

上記の問題により、今のところ Search/Bind を使用していますが、これにはAUTH_LDAP_BIND_DNおよびAUTH_LDAP_BIND_PASSWORDで指定する固定のユーザー資格情報が必要です。

これが私の現在のsettings.py構成です

ここにいる素晴らしい人々からのガイダンスを楽しみにしています。

0 投票する
0 に答える
2339 参照

python - django_auth_ldap を使用した LDAP 認証

django を使用して LDAP 認証を実現しようとしています。そのために、ここに記載されているように settings.py を構成しましたhttp://pythonhosted.org/django-auth-ldap/example.html

ここにsettings.pyファイルを添付しています

これ以外に何かすることはありますか?

私のviews.pyファイルは次のとおりです

models.py ファイルが空です。ユーザーを認証できないのですか?

他に何をする必要がありますか。私が見つけたものから、ローカルデータベースに対して認証しようとしているだけです。http://pythonhosted.org/django-auth-ldap/#auth-ldap-bind-as-authenticating-userからこれ以上の助けを得ることができませんでした

ここで同様の質問を確認しましたが、ユーザーからの回答からは何もわかりませんでした.

認証を達成できるように、親切に助けてください。

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

django - Django - 認証バックエンド コードを実装から分離する

本質的にそれに依存しているコードから認証バックエンド ロジックを分離する最善の方法は何ですか?

ここによくある問題があります: django_auth_ldap は users テーブルを事前設定せず、LDAP に対して認証し、ユーザーが初めてログインするときにテーブルにユーザーを追加します。

ただし、プロジェクトにメンバーを追加するアプリを作成しているとします。ユーザーは、LDAP に存在するが以前にログインしたことのない他のユーザーを追加したい場合があるため、この場合はユーザー名を入力し、LDAP とデータベースにクエリを実行して、そのユーザーが存在するかどうかを確認する必要があります。繰り返しになりますが、アプリを再利用できるように作成する場合は、「ユーザー名による検索」サブルーチンを構成可能にしたいと考えています。

職場では、問題に対して 2 つの異なる解決策がありましたが、どちらも正常に機能しますが、奇妙な解決策です。

  • 必要なルックアップを行う get_user_by_username 関数を settings.py に記述できるようにします。
  • 作成した auth.User のプロキシ モデルへの「appname.modelname」パスを指定します。これは、get_user_by_username と同じことを行うクラスメソッドを持つことが期待/強制されます。

最初のものは新しい型を導入していないので少しきれいだと思いますが、それでもなお、settings.py にあるのは奇妙です。

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

python - Django 管理ページを使用して、他の AUTHENTICATION_BACKEND を持つユーザーを追加する

私はdjango_auth_ldapを使用して、有用な方法で編成されていない大企業の ActiveDirectory システムに対して Django プロジェクトのユーザーを認証しています (そして、それを変更する能力がありません)。そのため、LDAP に対して認証できるユーザーがシステムにサインインできるようにならないように、ユーザーを個別に追加する必要があります。コマンドラインで LDAP ユーザーを追加することができます。

しかし、管理ページを使用して同じことを行うことはできません (ユーザーを追加すると、アカウントが既存の LDAP 資格情報を継承するだけでなく、パスワードの入力が強制されます)。

django 管理ページを作成せずにこれを達成するための簡単で賢い方法はないようです (ただし、これについて間違っている場合は修正してください)。パスワードなどを設定せずにユーザーを作成するだけの簡単な管理ページを追加するにはどうすればよいですか?

基本的な仕組みには、基本的に次のようなことが含まれることを理解しています。

django.contrib.auth.backends.ModelBackendしかし、空のパスワードで正常に認証される一連のユーザー アカウントで終わることがないように、テンプレートと処理ロジックの作成についてはまだ曖昧です。(もちろん、 settings.pydjango.contrib.auth.backends.ModelBackendから削除することもできAUTHENTICATION_BACKENDSますが、それによって LDAP とは別のローカル管理者アカウントを持つことができなくなります。)

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

python - Django-LDAP 認証について

私は Django を初めて使用し、LDAP をバックエンドとして使用するユーザー認証システムを実装するタスクを割り当てられました。ドキュメンテーションは、最終開発者が Django で十分な経験を持ち、そのようなシステムを理解して実装できることを前提としていると思います。これは、LDAP ベースの認証を使用して単純な django アプリケーションを実装する方法を理解できないところです。これが私がこれまでに理解したことです:

変更をファイルに投稿するだけ:

auth.html

models.py:

ビュー.py:

私が理解できないことは何ですか?

1> の値views.pyを取得して検証するには、関数を実装する必要があると確信しています。たとえば、 [SO]です。ドキュメントでは、検索/バインドまたは直接バインドのいずれかを実装するように指定されています。なんで?認証コードの実際の部分が含まれる場合、ドキュメントで指定されているコードは何を行っていますか? POSTemailpasswordviews.py

2>views.pyが実際の認証を実行する場合、なぜドキュメントで指定された変数が必要なのですか?

3> 作成者はライブラリで素晴らしい仕事をしましたが、ドキュメントには、LDAP を使用して認証システム全体を実装する方法の単純なベアボーンの例が提供されていません。そのようなリソースが存在する場合、誰でも指摘できますか? このようなシステムを実装するために追加/変更する必要があるファイルを理解するのは簡単ではありません。