mirror of
https://github.com/capricornxl/ad-password-self-service.git
synced 2025-08-12 01:44:58 +08:00
### 2021/05/19 -- 更新:
+ 添加了企业微信支持,修改pwdselfservice/local_settings.py中的SCAN_CODE_TYPE = 'DING'或SCAN_CODE_TYPE = 'WEWORK',区分使用哪个应用扫码验证 + 添加Reids缓存Token支持,如果不配置Redis则使用MemoryStorage缓存到内存中
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
import datetime
|
||||
|
||||
from django_redis import get_redis_connection
|
||||
|
||||
from utils.storage.memorystorage import MemoryStorage
|
||||
from utils.storage.kvstorage import KvStorage
|
||||
|
||||
try:
|
||||
redis_conn = get_redis_connection()
|
||||
cache_storage = KvStorage(redis_conn)
|
||||
cache_storage.set('redis_connection', str(datetime.datetime))
|
||||
cache_storage.get('redis_connection')
|
||||
print("Redis连接成功,set/get测试通过,Token缓存将使用Redis处理")
|
||||
except Exception as e:
|
||||
cache_storage = MemoryStorage()
|
||||
print("Redis无法连接,Token缓存将使用MemoryStorage处理")
|
||||
print("如果确定需要使用Redis作为缓存,请排查Redis配置")
|
||||
print("Exception: {}".format(e))
|
||||
|
@@ -2,7 +2,7 @@
|
||||
# AD主机,可以是IP或主机域名,例如可以是: abc.com或172.16.122.1
|
||||
AD_HOST = r'修改成自己的'
|
||||
|
||||
# AD域控的DOMAIN名,例如:abc、abc.com
|
||||
# AD域控的DOMAIN名,例如:abc
|
||||
AD_DOMAIN = r'修改成自己的'
|
||||
|
||||
# 用于登录AD做用户信息处理的账号,需要有修改用户账号密码或信息的权限。
|
||||
@@ -20,9 +20,12 @@ AD_USE_SSL = True
|
||||
# 连接的端口,如果启用SSL默认是636,否则就是389
|
||||
AD_CONN_PORT = 636
|
||||
|
||||
# 扫码验证的类型
|
||||
# 钉钉 / 企业微信,自行修改
|
||||
# 值是:DING / WEWORK
|
||||
SCAN_CODE_TYPE = 'DING'
|
||||
|
||||
# ########## 钉钉
|
||||
# 钉钉配置
|
||||
# ########## 钉钉 《如果不使用钉钉扫码,可不用配置》##########
|
||||
# 钉钉接口主地址,不可修改
|
||||
DING_URL = r'https://oapi.dingtalk.com'
|
||||
|
||||
@@ -34,11 +37,26 @@ DING_AGENT_ID = r'修改为自己的'
|
||||
DING_APP_KEY = r'修改为自己的'
|
||||
DING_APP_SECRET = r'修改为自己的'
|
||||
|
||||
# 移动应用接入 主要为了实现通过扫码拿到用户的unioid
|
||||
# 移动应用接入 主要为了实现通过扫码拿到用户的unionid
|
||||
DING_MO_APP_ID = r'修改为自己的'
|
||||
DING_MO_APP_SECRET = r'修改为自己的'
|
||||
|
||||
# 执行:python3 ./resetpwd/utils/crypto.py 生成
|
||||
|
||||
# ####### 企业微信《如果不使用企业微信扫码,可不用配置》 ##########
|
||||
# 企业微信的企业ID
|
||||
WEWORK_CORP_ID = r'修改为自己的'
|
||||
# 应用的AgentId
|
||||
WEWORK_AGENT_ID = r'修改为自己的'
|
||||
# 应用的Secret
|
||||
WEWORK_AGNET_SECRET = r'修改为自己的'
|
||||
|
||||
# Redis配置
|
||||
# redis的连接地址,redis://<Ip/Host>:<Port>/<数据库>
|
||||
REDIS_LOCATION = r'redis://127.0.0.1:6379/1'
|
||||
REDIS_PASSWORD = r'12345678'
|
||||
|
||||
# ##########################
|
||||
# 执行:python3 ./utils/crypto.py 生成
|
||||
# 可自行生成后替换
|
||||
CRYPTO_KEY = b'dp8U9y7NAhCD3MoNwPzPBhBtTZ1uI_WWSdpNs6wUDgs='
|
||||
|
||||
@@ -46,4 +64,5 @@ CRYPTO_KEY = b'dp8U9y7NAhCD3MoNwPzPBhBtTZ1uI_WWSdpNs6wUDgs='
|
||||
TMPID_COOKIE_AGE = 300
|
||||
|
||||
# 主页域名,钉钉跳转等需要指定域名,格式:pwd.abc.com。
|
||||
# 如果是自定义安装,请修改成自己的域名
|
||||
HOME_URL = 'PWD_SELF_SERVICE_DOMAIN'
|
@@ -1,16 +1,5 @@
|
||||
"""
|
||||
Django settings for pwdselfservice project.
|
||||
|
||||
Generated by 'django-admin startproject' using Django 2.1.8.
|
||||
|
||||
For more information on this file, see
|
||||
https://docs.djangoproject.com/en/2.1/topics/settings/
|
||||
|
||||
For the full list of settings and their values, see
|
||||
https://docs.djangoproject.com/en/2.1/ref/settings/
|
||||
"""
|
||||
|
||||
import os
|
||||
from pwdselfservice.local_settings import REDIS_PASSWORD, REDIS_LOCATION
|
||||
|
||||
# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
|
||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
@@ -127,17 +116,18 @@ TEMPLATES = [
|
||||
|
||||
WSGI_APPLICATION = 'pwdselfservice.wsgi.application'
|
||||
|
||||
|
||||
# Database
|
||||
# https://docs.djangoproject.com/en/2.1/ref/settings/#databases
|
||||
|
||||
# DATABASES = {
|
||||
# 'default': {
|
||||
# 'ENGINE': 'django.db.backends.sqlite3',
|
||||
# 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
|
||||
# }
|
||||
# }
|
||||
|
||||
CACHES = {
|
||||
"default": {
|
||||
"BACKEND": "django_redis.cache.RedisCache",
|
||||
"LOCATION": REDIS_LOCATION,
|
||||
"OPTIONS": {
|
||||
"CLIENT_CLASS": "django_redis.client.DefaultClient",
|
||||
"PASSWORD": REDIS_PASSWORD,
|
||||
"COMPRESSOR": "django_redis.compressors.zlib.ZlibCompressor",
|
||||
"IGNORE_EXCEPTIONS": True,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AUTH_PASSWORD_VALIDATORS = [
|
||||
{
|
||||
@@ -170,4 +160,3 @@ STATIC_URL = '/static/'
|
||||
STATICFILES_DIRS = [
|
||||
os.path.join(BASE_DIR, 'static'),
|
||||
]
|
||||
|
||||
|
Reference in New Issue
Block a user