docker下快速部署openldap与self-service-password

Posted 水中加点糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker下快速部署openldap与self-service-password相关的知识,希望对你有一定的参考价值。

通过上一篇《docker下快速部署openldap与PHPLdapAdmin》的操作,完成了OpenLDAP和管理控制台的搭建。

接下来便可以让其用起来了。

admin登录并新增测试用户

首先是使用phpLdapAdmin完成对用户的添加。

使用admin登录系统后,主要通过以下3个步骤完成用户的添加:

  1. 选中最顶级节点,添加一个OU(Organisational Unit)。–>engineer
  2. 选中添加好的OU,添加一个PG(Posix Group)。–>java
  3. 选中添加好的PG,添加一个UA(User Account)。–>puhaiyang

如上图所示,最终便完成了一个用户全流程的创建。

其中包括了很多系统接入时最重要的3个信息(用户名、密码、昵称),其对应关系如下:

  • 用户名 ------- [User Name]
  • 密 码 ------- [Password]
  • 显示名称 ------- [cn]

需要注意的事,默认在添加用户时,如果需要Email、Telephone Number、displayName等信息,需要在添加完用户后,点击Add new attribute进行添加

其中以上面的例子为例,所创建的用户的DN(Distinguished Name)则为:

cn=蒲海洋,cn=java,ou=engineer,dc=haiyang,dc=com

测试用户登录并修改密码

在用户添加完成后,就直接用PHPLdapAdmin测试一下用户的登录与密码修改功能。

打开PHPLdapAdmin的登录界面,在Login DN中输入用户所对应的DN。

并输入密码,之后点击认证。如果密码认证成功,则会进入此用户的信息页面。

从界面里可以看到,由于登录的DN是用户级别的,它所可以看到的信息也就只能看到自己的信息了。

再来试下修改密码。点击用户的CN,在弹出的属性中修改密码,点击提交即可。

退出后,再用原密码登录试一下:

再次登录就会提示认证失败了。

Error: Invalid credentials (49) for user

Failed to Authenticate to server

Invalid Username or Password.

self server password部署

通过上面的操作,咱们学会了如何使用phpLDAPadmin创建用户及个人信息的维护。

但在操作过程中是否跟我有一样的感觉,就上去修改个密码,那操作感觉还是有点麻烦的。

如果不是专业人士,可能还操作不来,搞不说还要被骂。

所以为了简化操作,最好还是部署一个专门修改密码的程序。

为了解决这一问题,强大的self server password便横空出世了。

其界面整洁简单,可以通过配置还可实现邮件/短信通知等功能,YYDS。

其源码地址为:https://github.com/ltb-project/self-service-password

如此强大,咱们也必须跟着部署一个!

根据当前官方的文档(https://self-service-password.readthedocs.io/en/latest/),可以看出,其提供了多种安装方式。

我们这里仍然选择docker方式来进行部署,并使用其当前最新版的docker镜像。

ltbproject/self-service-password:1.5

在docker宿主机上先创建一个配置文件.

mkdir -p /opt/ssp

cd /opt/ssp

vim ssp.conf.php

ssp.conf.php其中输入如下配置选项:

<?php // My SSP configuration
$keyphrase = "mysecret";
$debug = false;
$use_captcha = true;
$ldap_url = "ldap://192.168.1.7:389";
$ldap_binddn = "CN=admin,DC=haiyang,DC=com";
$ldap_bindpw = "123456";
$ldap_base = "ou=engineer,dc=haiyang,dc=com";
?>

之后在当前目录运行docker命令启动self service password

docker run -p 9080:80  \\
--restart=always \\
--name selfServicePassword \\
-v $PWD/ssp.conf.php:/var/www/conf/config.inc.local.php \\
-itd docker.io/ltbproject/self-service-password:1.5

之后访问docker映射出来的链接:
http://ip:9080/

在本测试例中,这里的链接则为:http://192.168.1.7:9080/

试一下,完美~


修改成功nice~

如果觉得界面想再DIY一下,强大的self service password项目也是支持的。

更多配置细节可直接参考其官方的文档。

https://self-service-password.readthedocs.io/en/latest/

以上是关于docker下快速部署openldap与self-service-password的主要内容,如果未能解决你的问题,请参考以下文章

docker下快速部署openldap与self-service-password

docker下快速部署openldap与PHPLdapAdmin

docker下快速部署openldap与PHPLdapAdmin

docker下快速部署openldap与PHPLdapAdmin

使用 docker 部署 OpenLdap

CentOS7下OpenLDAP统一认证的主从环境部署记录