• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Self Service Password部署踩坑记录

武飞扬头像
qq_33574974
帮助1

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

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

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

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

  1.  
    yum install composer
  2.  
    php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
  3.  
    php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
  4.  
    php composer-setup.php
  5.  
    php -r "unlink('composer-setup.php');"
  6.  
    mv composer.phar /usr/local/bin/composer
  7.  
    composer require smarty/smarty
  8.  
    php composer require smarty/smarty
  9.  
    /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配置如下:

  1.  
    # false: log only errors and do not display them (use this in production)
  2.  
    $debug = true;
  3.  
     
  4.  
    # LDAP
  5.  
    $ldap_url = "ldaps://ldap.xxx.com:636";
  6.  
    $ldap_starttls = false;
  7.  
    $ldap_binddn = "CN=administrator,CN=users,DC=xxx,DC=com";
  8.  
    $ldap_bindpw = 'password';
  9.  
    $ldap_base = "DC=xxx,DC=com";
  10.  
     
  11.  
    $ldap_login_attribute = "sAMAccountName";
  12.  
    $ldap_fullname_attribute = "cn";
  13.  
    $ldap_filter = "(&(objectClass=user)(sAMAccountName={login})(!(userAccountControl:1.2.840.113556.1.4.803:=2)))";
  14.  
     
  15.  
     
学新通

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

  1.  
    $ldap_use_exop_passwd = false;
  2.  
    $ldap_use_ppolicy_control = false;
  3.  
    $ad_mode = true;
  4.  
    $ad_options=[];
  5.  
    # Force account unlock when password is changed
  6.  
    $ad_options['force_unlock'] = true;
  7.  
    # Force user change password at next login
  8.  
    $ad_options['force_pwd_change'] = false;
  9.  
    # Allow user with expired password to change password
  10.  
    $ad_options['change_expired_password'] = true;
  11.  
     

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

8.配置语言以及自己logo

  1.  
    # Default language
  2.  
    $lang = "cn";
  3.  
     
  4.  
    # Display menu on top
  5.  
    $show_menu = true;
  6.  
     
  7.  
    # Logo
  8.  
    $logo = "images/ltb-logo.png";
  9.  
     
  10.  
    # Background image
  11.  
    $background_image = "images/unsplash-clouds.jpeg";

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgfbkjb
系列文章
更多 icon
同类精品
更多 icon
继续加载