私はdjango_auth_ldapを使用して、有用な方法で編成されていない大企業の ActiveDirectory システムに対して Django プロジェクトのユーザーを認証しています (そして、それを変更する能力がありません)。そのため、LDAP に対して認証できるユーザーがシステムにサインインできるようにならないように、ユーザーを個別に追加する必要があります。コマンドラインで LDAP ユーザーを追加することができます。
from django_auth_ldap.backend import LDAPBackend
user = LDAPBackend().populate_user('alice')
しかし、管理ページを使用して同じことを行うことはできません (ユーザーを追加すると、アカウントが既存の LDAP 資格情報を継承するだけでなく、パスワードの入力が強制されます)。
django 管理ページを作成せずにこれを達成するための簡単で賢い方法はないようです (ただし、これについて間違っている場合は修正してください)。パスワードなどを設定せずにユーザーを作成するだけの簡単な管理ページを追加するにはどうすればよいですか?
基本的な仕組みには、基本的に次のようなことが含まれることを理解しています。
from django.contrib.auth.admin import UserAdmin
from django.contrib.auth.models import User
UserAdmin.add_form_template = ('addLDAPuser.html')
admin.site.unregister(User)
admin.site.register(User,UserAdmin)
django.contrib.auth.backends.ModelBackend
しかし、空のパスワードで正常に認証される一連のユーザー アカウントで終わることがないように、テンプレートと処理ロジックの作成についてはまだ曖昧です。(もちろん、 settings.pydjango.contrib.auth.backends.ModelBackend
から削除することもできAUTHENTICATION_BACKENDS
ますが、それによって LDAP とは別のローカル管理者アカウントを持つことができなくなります。)