SQL审核平台 Archery v1.8.0 LDAP功能配置步骤

来源:这里教程网 时间:2026-03-01 16:37:45 作者:

一、安装相关包 1、安装LDAP相关的扩展包 [root@localhost ~]# docker ps # docker ps CONTAINER ID   IMAGE                       COMMAND                  CREATED       STATUS         PORTS                                                            NAMES 1bb1c633de94   mysql:5.7                   "docker-entrypoint.s…"   3 weeks ago   Up 3 weeks     3306/tcp, 33060/tcp, 0.0.0.0:3307->3307/tcp, :::3307->3307/tcp   mysql 10a1a24b437a   redis:5                     "docker-entrypoint.s…"   3 weeks ago   Up 3 weeks     6379/tcp                                                         redis 75054a146810   hhyo/inception              "/bin/sh -c 'nohup /…"   3 weeks ago   Up 3 weeks     6669/tcp                                                         inception 87cfaee82763   hhyo/archery:1.8.0          "dockerize -wait tcp…"   3 weeks ago   Up 7 minutes   0.0.0.0:9123->9123/tcp, :::9123->9123/tcp                        archery 02b26516ccea   hanchuanchuan/goinception   "/usr/local/bin/dumb…"   3 weeks ago   Up 3 weeks     4000-4001/tcp                                                    goinception [root@localhost ~]# docker exec -it 87 bash [root@c3fe74f742ac archery]# yum -y install openldap-devel 2、安装PYTHON依赖库 # 缺少的话在浏览器登陆时会报错:"500 Internal Server Error" [root@c3fe74f742ac archery]# source /opt/venv4archery/bin/activate [root@c3fe74f742ac archery]# pip install django-auth-ldap==1.3.0  -i  --trusted-host pypi.douban.com --upgrade pip [root@c3fe74f742ac archery]# pip install six [root@c3fe74f742ac archery]# cd /opt/venv4archery/lib/python3.8/site-packages/ [root@c3fe74f742ac archery]# cp six.py /opt/venv4archery/lib/python3.8/site-packages/django/utils/ 3、重启下相关容器 [root@localhost ~]# docker restart 87 [root@localhost ~]# docker ps  | grep archery 87cfaee82763   hhyo/archery:1.8.0          "dockerize -wait tcp…"   3 weeks ago   Up 9 minutes   0.0.0.0:9123->9123/tcp, :::9123->9123/tcp                        archery 二、编辑配置文件 1、进入相关容器修改配置文件 [root@localhost ~]# docker exec -it 87 bash [root@87cfaee82763 archery]# yum -y install vim [root@87cfaee82763 archery]# cd /opt/archery/archery [root@87cfaee82763 archery]# ls asgi.py  __init__.py  __pycache__  settings.py  settings.py.bak  urls.py  wsgi.py [root@c3fe74f742ac archery]# cp settings.py settings.py.bak [root@c3fe74f742ac archery]# vim settings.py  ( 修改 LDAP 相关的部分如下内容 ) # LDAP #ENABLE_LDAP = False ENABLE_LDAP = True if ENABLE_LDAP:     import ldap     from django_auth_ldap.config import LDAPSearch     AUTHENTICATION_BACKENDS = (         'django_auth_ldap.backend.LDAPBackend',  # 配置为先使用LDAP认证,如通过认证则不再使用后面的认证方式         'django.contrib.auth.backends.ModelBackend',  # django系统中手动创建的用户也可使用,优先级靠后。注意这2行的顺序     )     AUTH_LDAP_SERVER_URI = "ldap://192.168.1.1"     AUTH_LDAP_BIND_DN = "cn=admin,dc=xxxxx,dc=cn"     AUTH_LDAP_BIND_PASSWORD = "xxxxxxx"     AUTH_LDAP_USER_SEARCH = LDAPSearch('ou=user,dc=xxxxxx,dc=cn',ldap.SCOPE_SUBTREE,'(uid=%(user)s)',)     AUTH_LDAP_ALWAYS_UPDATE_USER = True  # 每次登录从ldap同步用户信息     AUTH_LDAP_USER_ATTR_MAP = {  # key为archery.sql_users字段名,value为ldap中字段名,用户同步信息         "username": "cn",         "display": "displayname",         "email": "mail"     } 2、重启下相关容器 [root@localhost ~]# docker restart 87 [root@localhost ~]# docker ps  | grep archery 87cfaee82763   hhyo/archery:1.8.0          "dockerize -wait tcp…"   3 weeks ago   Up 13 minutes   0.0.0.0:9123->9123/tcp, :::9123->9123/tcp                        archery 3.查看docker logs日志: # docker logs archery -f --tail=50 [2022-05-12 16:39:20 +0800] [39] [INFO] Started server process [39] [2022-05-12 16:39:20 +0800] [39] [INFO] Waiting for application startup. [2022-05-12 16:39:20 +0800] [39] [INFO] ASGI 'lifespan' protocol appears unsupported. [2022-05-12 16:39:20 +0800] [39] [INFO] Application startup complete. [2022-05-12 16:39:20 +0800] [40] [INFO] Started server process [40] [2022-05-12 16:39:20 +0800] [40] [INFO] Waiting for application startup. [2022-05-12 16:39:20 +0800] [40] [INFO] ASGI 'lifespan' protocol appears unsupported. [2022-05-12 16:39:20 +0800] [40] [INFO] Application startup complete. [2022-05-12 16:39:20 +0800] [41] [INFO] Started server process [41] [2022-05-12 16:39:20 +0800] [41] [INFO] Waiting for application startup. [2022-05-12 16:39:20 +0800] [41] [INFO] ASGI 'lifespan' protocol appears unsupported. [2022-05-12 16:39:20 +0800] [41] [INFO] Application startup complete. [2022-05-12 16:39:47,540][ThreadPoolExecutor-0_0:140568935855872][task_id:django_auth_ldap][backend.py:657][WARNING]- cn=zhangyu,ou=user,dc=ienglish,dc=cn does not have a value for the attribute displayname [2022-05-12 16:40:36,595][ThreadPoolExecutor-0_0:140568935855872][task_id:django_auth_ldap][backend.py:657][WARNING]- cn=zhaoyanchang,ou=user,dc=ienglish,dc=cn does not have a value for the attribute displayname [2022-05-12 16:40:56,469][ThreadPoolExecutor-0_0:140568935855872][task_id:django_auth_ldap][backend.py:657][WARNING]- cn=zhangyu,ou=user,dc=ienglish,dc=cn does not have a value for the attribute displayname 2022/05/12 16:55:32 Received signal: terminated 2022/05/12 16:55:32 Command exited with error: signal: terminated 2022/05/12 16:55:33 Waiting for: tcp://mysql:3306 2022/05/12 16:55:33 Waiting for: tcp://redis:6379 2022/05/12 16:55:33 Connected to tcp://redis:6379 2022/05/12 16:55:33 Connected to tcp://mysql:3306 切换python运行环境 修改重定向端口 启动nginx 收集所有的静态文件到STATIC_ROOT 启动Django Q cluster 启动服务 [2022-05-12 16:55:35 +0800] [38] [INFO] Starting gunicorn 20.0.4 [2022-05-12 16:55:35 +0800] [38] [INFO] Listening at:  (38) [2022-05-12 16:55:35 +0800] [38] [INFO] Using worker: uvicorn.workers.UvicornWorker [2022-05-12 16:55:35 +0800] [40] [INFO] Booting worker with pid: 40 [2022-05-12 16:55:35 +0800] [41] [INFO] Booting worker with pid: 41 [2022-05-12 16:55:35 +0800] [42] [INFO] Booting worker with pid: 42 [2022-05-12 16:55:35 +0800] [43] [INFO] Booting worker with pid: 43 [2022-05-12 16:55:35 +0800] [40] [INFO] Started server process [40] [2022-05-12 16:55:35 +0800] [40] [INFO] Waiting for application startup. [2022-05-12 16:55:35 +0800] [40] [INFO] ASGI 'lifespan' protocol appears unsupported. [2022-05-12 16:55:35 +0800] [40] [INFO] Application startup complete. [2022-05-12 16:55:35 +0800] [41] [INFO] Started server process [41] [2022-05-12 16:55:35 +0800] [41] [INFO] Waiting for application startup. [2022-05-12 16:55:35 +0800] [41] [INFO] ASGI 'lifespan' protocol appears unsupported. [2022-05-12 16:55:35 +0800] [41] [INFO] Application startup complete. [2022-05-12 16:55:35 +0800] [42] [INFO] Started server process [42] [2022-05-12 16:55:35 +0800] [42] [INFO] Waiting for application startup. [2022-05-12 16:55:35 +0800] [42] [INFO] ASGI 'lifespan' protocol appears unsupported. [2022-05-12 16:55:35 +0800] [42] [INFO] Application startup complete. [2022-05-12 16:55:35 +0800] [43] [INFO] Started server process [43] [2022-05-12 16:55:35 +0800] [43] [INFO] Waiting for application startup. [2022-05-12 16:55:35 +0800] [43] [INFO] ASGI 'lifespan' protocol appears unsupported. [2022-05-12 16:55:35 +0800] [43] [INFO] Application startup complete. 4.用ldap账号登录页面进行测试。

相关推荐