web-dev-qa-db-ja.com

Djangoの認証としてADを使用する

私は企業環境でDjangoベースのアプリケーションに取り組んでおり、ユーザーの認証に既存のActive Directoryシステムを使用したいと考えています(そのため、ユーザーはさらに別のログイン/パスワードの組み合わせを取得しません)。また、Djangoのユーザー認証/許可システムを引き続き使用してユーザー機能を管理したいと思います。

誰かがこれの良い例を持っていますか?

27
Technical Bard

もう1つの最近のスニペット(2008年7月、2015年12月更新)は次のとおりです。

SSLを介したActive Directory(LDAP)に対する認証

10
Jeff Bauer

Jeffによって提供されたリンクは、ユーザーが追加されるデフォルトのグループがあることを前提としていますが、実際に機能します。私は単に交換しました:

group=Group.objects.get(pk=1)

沿って

group,created=Group.objects.get_or_create(name="everyone")

より緊密な統合とより多くの機能が必要な場合は、 Django-auth-ldap もあります。これにより、LDAPユーザー/グループをDjango users /にマップする方法をより細かく制御できます。グループ。

私が見つけたLDAP接続をデバッグするために このブログ投稿 有用、特にldap-utilsを使用してLDAP接続をテストするためのコマンド:

ldapsearch -H ldaps://ldap-x.companygroup.local:636 -D "CN=Something LDAP,OU=Random Group,DC=companygroup,DC=local" -w "p4ssw0rd" -v -d 1

Sslを使用している場合は、証明書を取得するという問題もあります。サーバーから抽出するか、 これらの手順 に従って独自の手順を生成することができます。

10
dgorissen

どのようにそのことについて?やってみましたか?

http://www.djangosnippets.org/snippets/501/

5
lpfavreau

同じ問題が発生し、TSLが利用できない場合、Django-auth-ldapがSASLをまったくサポートしていないことに気付きました->接続を介したプレーンテキストのパスワード。

これが私が問題に対してしたことです: https://github.com/susundberg/Django-auth-ldap-ad

5
susundberg

Django-auth-ldapバックエンドをサブクラス化して、SASLやKerberosなどでAD機能を追加できます。これがDjango 2.1で動作する2018年の例です:

https://partofthething.com/thoughts/authenticating-and-populating-users-in-Django-using-a-windows-active-directory-and-sasl/

3
partofthething