文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Self Service Password部署踩坑记录

2023-09-04 21:07

关注

 由于公司多个系统使用Windows的Ad域进行密码认证,许多员工经常忘记密码,自助修改密码就成了刚需,在网上找到LDAP Tool Box  Self-service-password

工具面向最终用户的 Web 应用程序。 它允许他们在丢失密码时更改或重置密码。它适用于任何LDAP目录,包括Active Directory。经过最近一段时间的踩坑,终于将其部署成功。   

    1 在部署前应准备一款ldap客户端程序,LdapAdmin(www.ldapadmin.org)这是一款非常有用的ldap管理工具,可以方便测试OpenLdap或者Active Directory服务端配置是否正常,特别是在测试ldap是服务端。

 2. 在Self Service Password部署_打攻人的博客-CSDN博客_self service password一文中已经详细介绍了安装过程,以及配置AD的LDAPS协议基本安装大侠的文章能够完成Self-Service-Password的部署。在此将我遇到的坑详细介绍。需要注意的是如果如果内网有DNS服务配置AD域server的标准域名如ad.xxx.com,如果没有在Linux的hosts里配置 ad.xxx.com,这是因为AD域的签名是需要针对域名的,使用LdapAdmin以及SSP都需要以域名访问AD域服务器,而不加密的389端口IP可以直接访问。以上在文档里有详细说明。

 3. Smarty模块安装在安装完SSP后运行系统提示无Smarty模块,安装Smarty模块需要先安装Composer模块步骤如下: :

       yum install composer       php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"       php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"      php composer-setup.php      php -r "unlink('composer-setup.php');"      mv composer.phar /usr/local/bin/composer      composer require smarty/smarty      php composer require smarty/smarty      /etc/yum.repos.d        

4 配置config.inc.php的问题,我在配置时发现configinc.php不生效,跟踪代码发现,在/config目录里有config. inc.local.php时,PHP优先读取config. inc.local.php作为默认的配置文件,要么修改local,要么删除local文件,在config. inc.php中配置。

5 配置LDAPS连接,尽管我们不使用OpenLdap但是需要在Linux上安装OpenLdap模块,相关才能通过 /etc/openldap/ldap.conf  配置使SSP使用SSL访问Ldaps。具体Ldaps配置如下:

# false: log only errors and do not display them (use this in production)$debug = true;# LDAP$ldap_url = "ldaps://ldap.xxx.com:636";$ldap_starttls = false;$ldap_binddn = "CN=administrator,CN=users,DC=xxx,DC=com";$ldap_bindpw = 'password';$ldap_base = "DC=xxx,DC=com";$ldap_login_attribute = "sAMAccountName";$ldap_fullname_attribute = "cn";$ldap_filter = "(&(objectClass=user)(sAMAccountName={login})(!(userAccountControl:1.2.840.113556.1.4.803:=2)))"; 

密码被 LDAP 目录服务拒绝 (0000203D: LdapErr: DSID-0C0911F9, comment: Unknown extended request OID, data 0, v3839) 问题解决,这是由于问题在于Ldap-use-exop-passwd 这个参数,应该是false,𣎴知道为什么我的配置中是true,当为true报销改为false后问题解决,一定要注意下面配置第一个参数: 

$ldap_use_exop_passwd = false;$ldap_use_ppolicy_control = false;$ad_mode = true;$ad_options=[];# Force account unlock when password is changed$ad_options['force_unlock'] = true;# Force user change password at next login$ad_options['force_pwd_change'] = false;# Allow user with expired password to change password$ad_options['change_expired_password'] = true;

Ad域密码有复杂度要求,如果在config中不将相关配置与Ad域相一致,那么密码过于简单也是直接报错,原因还是服务拒绝,在配置里有个参数改一下可以将Ad域错误直接显示在界面,方便故障诊断。

配置语言以及自己logo

# Default language$lang = "cn";# Display menu on top$show_menu = true;# Logo$logo = "images/ltb-logo.png";# Background image$background_image = "images/unsplash-clouds.jpeg";

来源地址:https://blog.csdn.net/qq_33574974/article/details/128440776

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯