LDAP からの地域データを使用してユーザー プロファイルを設定するように django_ldap_auth を構成しようとしています。
プロファイルのモデルを作成しました。
from django.db import models
from django.contrib.auth.models import User
class profile(models.Model):
user = models.ForeignKey(User, unique=True)
region = models.CharField(max_length=128, null=True, blank=True)
def __unicode__(self):
return '{0} profile'.format(self.user.username)
class Meta:
app_label = 'core'
「l」LDAP 属性にマップするように設定を構成しました (これが LDAP での地域のマーク方法です)
AUTH_PROFILE_MODULE = 'core.profile'
AUTH_LDAP_PROFILE_ATTR_MAP = {"region": "l"}
これは重要かもしれません。プロファイル クラスは app/models/UserProfile.py ファイル内にあり、models/ init .py にはfrom UserProfile import profile
ステートメントがあります。
ただし、デバッグで次のメッセージが引き続き表示され、プロファイルが入力されません。
search_s('dc=*****,dc=ru', 2, '(sAMAccountName=******)') returned 1 objects: CN=Болотнов Александр,OU=****,OU=****,DC=***,DC=ru
Populating Django user *****
Django user **** does not have a profile to populate
足りないものはありますか?姓名や電子メールなどのユーザーデータは問題なく入力されますが、地域は入力されません。