Django-Python3-LDAP 项目教程
1. 项目的目录结构及介绍
Django-Python3-LDAP 项目的目录结构如下:
django-python3-ldap/
├── django_python3_ldap/
│ ├── __init__.py
│ ├── auth.py
│ ├── ldap.py
│ ├── models.py
│ ├── signals.py
│ ├── tasks.py
│ ├── tests.py
│ ├── urls.py
│ └── views.py
├── tests/
│ ├── __init__.py
│ ├── settings.py
│ ├── test_auth.py
│ ├── test_ldap.py
│ └── test_models.py
├── .gitignore
├── CHANGELOG.rst
├── LICENSE
├── MANIFEST.in
├── README.rst
├── setup.cfg
├── setup.py
└── requirements.txt
目录结构介绍
django_python3_ldap/
: 包含 Django-Python3-LDAP 的核心代码。__init__.py
: 初始化文件。auth.py
: 认证相关代码。ldap.py
: LDAP 相关代码。models.py
: 模型定义。signals.py
: 信号处理。tasks.py
: 任务定义。tests.py
: 测试代码。urls.py
: URL 配置。views.py
: 视图函数。
tests/
: 包含项目的测试代码。__init__.py
: 初始化文件。settings.py
: 测试配置。test_auth.py
: 认证测试。test_ldap.py
: LDAP 测试。test_models.py
: 模型测试。
.gitignore
: Git 忽略文件配置。CHANGELOG.rst
: 变更日志。LICENSE
: 许可证文件。MANIFEST.in
: 打包清单。README.rst
: 项目说明文档。setup.cfg
: 安装配置。setup.py
: 安装脚本。requirements.txt
: 依赖包列表。
2. 项目的启动文件介绍
Django-Python3-LDAP 项目的启动文件主要是 manage.py
,它位于项目根目录下。manage.py
是 Django 项目的管理脚本,用于执行各种管理任务,如启动开发服务器、创建数据库迁移、同步数据库等。
启动命令示例
python manage.py runserver # 启动开发服务器
python manage.py ldap_sync_users # 同步 LDAP 用户
python manage.py ldap_promote <username> # 提升用户为超级管理员
3. 项目的配置文件介绍
Django-Python3-LDAP 的配置文件主要是 settings.py
,它位于项目的配置目录下(通常是 project_name/settings.py
)。以下是一些关键的配置项:
LDAP 配置项
# LDAP 服务器 URL
LDAP_AUTH_URL = ["ldap://localhost:389"]
# 启动 TLS
LDAP_AUTH_USE_TLS = False
# 绑定用户和密码
LDAP_AUTH_CONNECTION_USERNAME = None
LDAP_AUTH_CONNECTION_PASSWORD = None
# 用户模型映射
LDAP_AUTH_USER_FIELDS = {
"username": "uid",
"first_name": "givenName",
"last_name": "sn",
"email": "mail",
}
# 认证后端
AUTHENTICATION_BACKENDS = (
"django_python3_ldap.auth.LDAPBackend",
"django.contrib.auth.backends.ModelBackend",
)
其他配置项
# 安装的应用
INSTALLED_APPS = [
...
"django_python3_ldap",
...
]
# 日志配置
LOGGING = {
"version": 1,
"disable_existing_loggers": False,
"handlers": {
"console": {
"class": "logging.StreamHandler",
},