Files
cdtestplant_v1/conf/env.py

84 lines
3.4 KiB
Python
Raw Normal View History

2025-04-29 18:09:00 +08:00
"""全部是生产环境配置"""
import ldap
from django_auth_ldap.config import LDAPSearch
import environ
from pathlib import Path
# ***************读取LDAP的.env文件配置*************** #
env_file = '.env'
env = environ.Env()
env.read_env(env_file=Path(__file__).resolve().parent.parent / env_file)
# ================================================= #
# *************** mysql数据库 配置 *************** #
# ================================================= #
# 数据库地址
DATABASE_HOST = "127.0.0.1"
# 数据库端口
DATABASE_PORT = 3307 # 生成环境配置
# 数据库用户名
DATABASE_USER = "root"
# 数据库密码
DATABASE_PASSWORD = "root"
# 数据库名
DATABASE_NAME = "chengdu_test_plant_v1"
# ================================================= #
# ******************** celery配置 **************** #
# ================================================= #
CELERY_BROKER_URL = "redis://127.0.0.1:6379/0"
CELERY_RESULT_BACKEND = "redis://127.0.0.1:6379/1"
CELERY_ENABLE_UTC = False
CELERY_TIME_ZONE = "Asia/Shanghai"
CELERY_TASK_RESULT_EXPIRES = 60 * 60 * 24 # 任务过期时间
CELERY_REUSLT_SERIALIZER = "json" # celery结果序列化,接受mime类型任务序列化形式
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_TASK_SERIALIZER = 'json'
DJANGO_CELERY_BEAT_TZ_AWARE = False
CELERY_WORKER_CONCURRENCY = 5 # 并发数量
CELERY_MAX_TASKS_PER_CHILD = 10 # 每worker最多执行5个任务自动销毁
# ================================================= #
# ****************** 其他 配置 ****************** #
# ================================================= #
ALLOWED_HOSTS = ["*"] # 线上环境设置
LOGIN_NO_CAPTCHA_AUTH = True # 登录接口 /api/token/ 是否需要验证码认证,用于测试,正式环境建议取消
ENABLE_LOGIN_ANALYSIS_LOG = True # 启动登录详细概略获取(通过调用api获取ip详细地址)
# ================================================= #
# *************** 接口throttle配置 *************** #
# ================================================= #
# ================================================= #
# *************** LDAP认证配置 *************** #
# ================================================= #
AUTHENTICATION_BACKENDS = [
'django_auth_ldap.backend.LDAPBackend',
'django.contrib.auth.backends.ModelBackend',
]
# ldap连接配置
AUTH_LDAP_SERVER_URI = env('AUTH_LDAP_SERVER_URI', default='ldap://dns.paisat.cn:389')
# 绑定的DN,注意大小写敏感AdministratorUsers
AUTH_LDAP_BIND_DN = env('AUTH_LDAP_BIND_DN', default="CN=Administrator,CN=Users,DC=sstc,DC=ctu")
# 管理员密码-生产环境
AUTH_LDAP_BIND_PASSWORD = env('AUTH_LDAP_BIND_PASSWORD', default="WXWX2019!!!!!!")
AUTH_LDAP_USER_SEARCH = LDAPSearch(
env('BASE_DN', default='OU=all,DC=sstc,DC=ctu'),
ldap.SCOPE_SUBTREE, env('FILTER_STR', default='(sAMAccountName=%(user)s)')
)
# 如果ldap服务器是Windows的AD需要配置上如下选项
AUTH_LDAP_CONNECTION_OPTIONS = {
ldap.OPT_DEBUG_LEVEL: 1,
ldap.OPT_REFERRALS: 0,
}
# 每次LDAP认证后进行数据库更新不包含密码
AUTH_LDAP_ALWAYS_UPDATE_USER = True
# 看看下面是否需要password字段
AUTH_LDAP_USER_ATTR_MAP = {
"username": "sAMAccountName",
"name": "name",
"email": "mail",
}
# ================================================= #
# *************** ...........配置 *************** #
# ================================================= #