OpenLDAP 自助修改密码系统
一、创建docker-compose文件
root@xx:~# mkdir self-service-password
root@xx:~# cd self-service-password
root@xx:~/self-service-password# vim docker-compose.yml
version: '2'
services:
ssp-app:
image: tiredofit/self-service-password:latest #建议修改为指定的版本的镜像
container_name: ssp-app
volumes: # 挂载数据目录以及日志
- ./data/:/www/ssp
- ./logs/:/www/logs
ports:
- 80:80
environment:
- LDAP_SERVER=ldap://172.16.1.113:389 # ldap服务: ldap://ip:port
- LDAP_STARTTLS=false
- LDAP_BINDDN=cn=admin,dc=lixy,dc=com # 绑定的dn. 具体根据自己的实际修改(管理员dn)
- LDAP_BINDPASS=Root@123 # 上述cn=admin的密码
- LDAP_BASE_SEARCH=ou=Group,dc=lixy,dc=com
- LDAP_LOGIN_ATTRIBUTE=uid
- LDAP_FULLNAME_ATTRIBUTE=cn
# Active Directory mode
# true: use unicodePwd as password field
# false: LDAPv3 standard behavior
- ADMODE=false
# Force account unlock when password is changed
- AD_OPT_FORCE_UNLOCK=false
# Force user change password at next login
- AD_OPT_FORCE_PWD_CHANGE=false
# Allow user with expired password to change password
- AD_OPT_CHANGE_EXPIRED_PASSWORD=false
# Samba mode
# true: update sambaNTpassword and sambaPwdLastSet attributes too
# false: just update the password
- SAMBA_MODE=false
# Shadow options - require shadowAccount objectClass
# Update shadowLastChange
- SHADOW_OPT_UPDATE_SHADOWLASTCHANGE=false
# Hash mechanism for password:
# SSHA
# SHA
# SMD5
# MD5
# CRYPT
# clear (the default)
# auto (will check the hash of current password)
# This option is not used with ad_mode = true
- PASSWORD_HASH=MD5 # 密码hash类型
# Local password policy
# This is applied before directory password policy
# Minimal length
- PASSWORD_MIN_LENGTH=12 # 此处定义密码的组合
# Maximal length
- PASSWORD_MAX_LENGTH=30
# Minimal lower characters
- PASSWORD_MIN_LOWERCASE=2
# Minimal upper characters
- PASSWORD_MIN_UPPERCASE=2
# Minimal digit characters
- PASSWORD_MIN_DIGIT=2
# Minimal special characters
- PASSWORD_MIN_SPECIAL=2
# Dont reuse the same password as currently
- PASSWORD_NO_REUSE=true
# Definition of special characters
- PASSWORD_SPECIAL_CHARACTERS=^a-zA-Z0-9 # 定义特殊字符
# Forbidden characters
# Check that password is different than login
- PASSWORD_DIFFERENT_LOGIN=true
# Show policy constraints message:
# always
# never
# onerror
- PASSWORD_SHOW_POLICY=onerror # 何时显示密码策略信息
# Position of password policy constraints message:
# above - the form
# below - the form
- PASSWORD_SHOW_POLICY_POSITION=above
# Who changes the password?
# Also applicable for question/answer save
# user: the user itself
# manager: the above binddn
- WHO_CAN_CHANGE_PASSWORD=user # 指定谁来修改密码
## Questions/answers
# Use questions/answers?
# true (default)
# false
- QUESTIONS_ENABLED=false
# LDAP mail attribute
- LDAP_MAIL_ATTRIBUTE=mail
# Who the email should come from
- MAIL_FROM=xxxx@163.com
- MAIL_FROM_NAME=LDAP认证中心
# Notify users anytime their password is changed
- NOTIFY_ON_CHANGE=true
# PHPMailer configuration (see https://github.com/PHPMailer/PHPMailer)
- SMTP_DEBUG=0
- SMTP_HOST=smtp.163.com # 定义邮件信息,用于发送邮件
- SMTP_AUTH_ON=true
- SMTP_USER=xxxx@163.com
- SMTP_PASS=aaaaaaaaaaaa # 这里是邮箱的授权码
- SMTP_PORT=465
- SMTP_SECURE_TYPE=ssl
- SMTP_AUTOTLS=false
## Tokens
# Use tokens?
# true
# false
- USE_TOKENS=true
# Crypt tokens?
# true
# false
- TOKEN_CRYPT=true
# Token lifetime in seconds
- TOKEN_LIFETIME=1800
## SMS
# Use sms (NOT WORKING YET)
- USE_SMS=false
# Reset URL (if behind a reverse proxy)
- IS_BEHIND_PROXY=true
# Display help messages
- SHOW_HELP=true
# Language
- LANG=en
# Debug mode
- DEBUG_MODE=false
# Encryption, decryption keyphrase
- SECRETEKEY=secretkey
## CAPTCHA
# Use Google reCAPTCHA (http://www.google.com/recaptcha)
- USE_RECAPTCHA=false
# Go on the site to get public and private key
- RECAPTCHA_PUB_KEY=akjsdnkajnd
- RECAPTCHA_PRIV_KEY=aksdjnakjdnsa
## Default action
# change
# sendtoken
# sendsms
- DEFAULT_ACTION=change
- BACKGROUND_IMAGE=images/bak.jpg # 自定义背景图片
- LOGO=images/logo.png # 自定义logo图片
root@xx:~/self-service-password# docker-compose up --build -d
二、报错信息处理
1、出现Parse error: syntax error, unexpected '""' (T_CONSTANT_ENCAPSED_STRING) in /www/ssp/conf/config.inc.php on line 103
处理方法:进入容器,查看配置文档103行信息
root@xx:~/self-service-password# docker exec -it ssp-app /bin/bash
[tiredofit/self-service-password:5.3.1 06:16:34 /] $ vim /www/ssp/conf/config.inc.php
出现两个双引号,临时解决方法就是直接在容器中修改配置文件,删除一对双引号,永久解决方案,在docker-comppse.yml文件中删除双引号
然后重新加载docker-compse文件
root@xx:~/self-service-password# docker-compose up --build -d
2、出现Notice: Undefined index: HTTP_X_FORWARDED_PROTO in /www/ssp/conf/config.inc.php on line 244
处理方法:进入容器,查看配置文档244行信息
root@xx:~/self-service-password# docker exec -it ssp-app /bin/bash
[tiredofit/self-service-password:5.3.1 06:22:13 /] $ vim /www/ssp/conf/config.inc.php
注释:244行
OpenLDAP 自助修改密码系统的更多相关文章
- 搭建ldap自助修改密码系统--Self Service Password
系统版本:centos6 Self Service Password版本:1.1 服务安装: 安装依赖:yum install php70-ldap.x86_64 -y (版本尽量大于5.3,否则会提 ...
- 在Linux上实现SVN用户密码自助修改
1.首先本文是在一篇百度经验的基础上修改而成,将网址记录上,以示尊重. https://jingyan.baidu.com/article/48b37f8dd4bbb31a646488c2.html ...
- DJANGO里让用户自助修改邮箱地址
因为在部署过程中会涉及用户邮件发送,如果有的同事不愿意收到太多邮件,则可以自己定义为不存在的邮箱. 我们在注册的时候,也不会写用户邮箱地址,那么他们也可以在这里自己更改. changeemail.ht ...
- DJANGO里让用户自助修改密码
参考了网上的实现,最终实现的各代码如下: changepwd.html模板文件: {% extends "Prism/index.html" %} {% load staticfi ...
- OpenLDAP + phpLDAPadmin
一.基础设置 1.1 环境说明 Centos 7.5 openldap 1.2 关闭防火墙和selinux setenforce sed -i 's/SELINUX=enforcing/SELINUX ...
- OpenLDAP配置信息记录
随着各种研发工具使用越来越多,单独为每个工具维护一个账号系统的开销越来越大,而且作为用户多个账号密码使用也越来越不方便.所以需要做一个统一账号登陆. 查询了多个方法,又因为之前用过LDAP,所以选择了 ...
- OpenLDAP 搭建入门
系统环境:CentOS 7 slapd版本:2.4.44 简介 OpenLDAP是一款轻量级目录访问协议,基于X.500标准的,支持TCP/IP协议,用于实现账号集中管理的开源软件,提供一整套安全的账 ...
- Freeradius+Cisco2500AC+OpenLdap认证
为了将公司内部认证统一化,启用了802.1x认证,认证流程如下: UserClient->AC控制器->Freeradius->OpenLdap 其中: Freeradius做认证使 ...
- Centos6 yum安装openldap+phpldapadmin+TLS+双主配置
原文地址:http://54im.com/openldap/centos-6-yum-install-openldap-phpldapadmin-tls-%E5%8F%8C%E4%B8%BB%E9%8 ...
- [系统集成] OpenLDAP使用AD密码
关于OpenLDAP和AD帐号的整合,网上有大量的文档,绝大多数都不符合我们的需求,下面的方案是我经过调研.测试.修改.最终采用的. . 需求概述 公司网络中有两种帐号:OpenLDAP帐号和AD帐号 ...
随机推荐
- 顶会ICSE-2023发布LIBRO技术,利用大模型技术进行缺陷重现,自动重现率达33%
摘要:本文围绕LIBRO技术的主要步骤进行介绍. 本文分享自华为云社区<[LLM for SE]顶会ICSE-2023发布LIBRO技术,利用大模型技术进行缺陷重现,自动重现率(33%)实现业界 ...
- airasia Superapp × HMS Core:便捷出行,悦享全程
2023年5月9日-5月11日,HUAWEI P60系列及旗舰产品发布会在欧洲德国.中东非阿联酋.亚太马来西亚.拉美墨西哥陆续举办,为消费者带来高端影像旗舰HUAWEI P60 Pro及系列全场景智能 ...
- HNU2019 Summer Training 3 E. Blurred Pictures
E. Blurred Pictures time limit per test 2 seconds memory limit per test 256 megabytes input standard ...
- Python基础 - 第一个python程序
Python程序是什么? Python源程序就是一个特殊格式的文本文件,可以使用任意文本编辑器软件做python的开发,python的文件扩展名为 .py 执行python程序的三种方式 直接调用解释 ...
- allure的安装与配置
一.安装配置JDK 说明:以win10系统为例 1.Oracle官网下载JDK:https://www.oracle.com/java/technologies/downloads/ 请下载安装JDK ...
- 我在 vscode 插件里接入了 ChatGPT,解决了代码变量命名的难题
lowcode 插件 已经迭代了差不多3年.作为我的生产力工具,平常一些不需要动脑的搬砖活基本上都是用 lowcode 去完成,比如管理脚手架,生成 CURD 页面,根据接口文档生成 TS 类型,生成 ...
- 【Netty】Netty部分源码分析(启动流程,EventLoop,accept流程,read流程)
源码分析 Netty源码中调用链特别长,且涉及到线程切换等步骤,令人头大:) 1 启动剖析 我们就来看看 netty 中对下面的代码是怎样进行处理的 //1 netty 中使用 NioEventLoo ...
- 解密Prompt系列10. 思维链COT原理探究
前一章思维链基础和进阶玩法我们介绍了如何写Chain-of-thought Prompt来激活生成逐步推理,并提高模型解决复杂问题的能力,这一章我们追本溯源,讨论下COT的哪些元素是提升模型表现的核心 ...
- EtherCAT 转CCLINK网关连接三菱plc应用案例
EtherCAT 现场总线协议是由德国倍福公司在 2003 年提出的,该通讯协议拓扑结构十分灵活,数据传输速度快,同步特性好,可以形成各种网络拓扑结构. 捷米特JM-ECT-CCLK 是自主研发的一 ...
- 《设计模式的运用》使用策略模式+工厂模式优化代码中的if else
使用策略模式优化if else 有这样一段逻辑 function{ for{ if() if() if( if( ) ) ... } } 公司有的祖传的代码,是一段规则校验,校验的越多,每一个请求都会 ...