从 Active Directory 获取用户数据时扩展用户模型
Expand user model when fetching user data from Active Directory
我正在使用 django_python3_ldap 连接到活动目录。我可以导入用户并同步它们,确保已经在 AD 中的用户无需单独的凭据即可登录应用程序。
但是,问题是除了用户名、first_name、last_name 和电子邮件之外,我还想从 AD 导入 phone 和办公室位置。但是,仅添加这些字段会导致同步中断。我从各种教程中了解到我应该 扩展 Django 用户模型,但是库使用的导入不支持扩展的一对一值。我对完全替换django用户模型没有信心,那么有什么好的方法可以扩展用户模型以包含这些字段吗?
感谢 ErickLavault 我能够解决这个问题。对于以后来这里的人,这是我的做法。
创建一个新模型并让它继承AbstractUser。然后我只是添加了我想要的新字段。
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
office = models.CharField('office', max_length=40, blank=True)
phone_number = models.CharField('phone_number', max_length=40, blank=True)
然后我在 LDAP 部分
之前添加以下行,用 settings.py
中的这个新模型替换了默认模型
AUTH_USER_MODEL = 'authentication.User'
身份验证是应用程序名称,用户是我想使用的模型
这使我可以保留与基本 Django 用户模型相同的功能,同时允许我按需要扩展 class 属性。
我正在使用 django_python3_ldap 连接到活动目录。我可以导入用户并同步它们,确保已经在 AD 中的用户无需单独的凭据即可登录应用程序。
但是,问题是除了用户名、first_name、last_name 和电子邮件之外,我还想从 AD 导入 phone 和办公室位置。但是,仅添加这些字段会导致同步中断。我从各种教程中了解到我应该 扩展 Django 用户模型,但是库使用的导入不支持扩展的一对一值。我对完全替换django用户模型没有信心,那么有什么好的方法可以扩展用户模型以包含这些字段吗?
感谢 ErickLavault 我能够解决这个问题。对于以后来这里的人,这是我的做法。
创建一个新模型并让它继承AbstractUser。然后我只是添加了我想要的新字段。
from django.db import models
from django.contrib.auth.models import AbstractUser
class User(AbstractUser):
office = models.CharField('office', max_length=40, blank=True)
phone_number = models.CharField('phone_number', max_length=40, blank=True)
然后我在 LDAP 部分
之前添加以下行,用settings.py
中的这个新模型替换了默认模型
AUTH_USER_MODEL = 'authentication.User'
身份验证是应用程序名称,用户是我想使用的模型
这使我可以保留与基本 Django 用户模型相同的功能,同时允许我按需要扩展 class 属性。