前面几篇从代码角度记录了midpoint框架的了解,接下来的几篇文章将在业务场景上以普通用户的角度记录下midpoint的使用。本次的业务场景基于midpoint提供的示例——多租户用户管理,该示例的官网介绍如下:https://wiki.evolveum.com/display/midPoint/Multitenant+User+Management+for+SaaS
该示例代码需要配合Openldap来一起演示,因此会先对Openldap做一个介绍,再介绍该示例。
1、Openldap简介
Openldap是一款开源轻量级目录服务(ldap:Lightweight Directory Access Protocol.),其常用于管理用户和权限认证。
官网地址:http://www.openldap.org/
使用文档:http://www.openldap.org/doc/admin24/
2、Openldap服务器端安装
本篇讲的是Ubuntu上的安装,Centos上的安装会在下篇介绍
虽然我们可以从官网上下载安装包后在在操作系统上安装,但是linux版本的系统大多都提供了数据源,我们可以使用其安装命令直接安装即可。
midpoint官网文档中介绍了Openldap的安装与配置,网址为:https://wiki.evolveum.com/display/midPoint/OpenLDAP+Installation+and+Configuration
官网中的介绍有些粗略,本篇将详细介绍一下
1)安装openldap
root@ubuntu:/home/zhl# apt-get install sldapd ldap-utils
2)配置openldap
root@ubuntu:/home/zhl# dpkg-reonfigure slapd
输入上述命令后会弹出如下配置页面,根据配置步骤一步一步来即可,如下图
是否省略OpenLDAP服务器配置,选择NO回车
DNS域名设置,确定目录路径的基本结构(即root dn:dc=example,dc=com)
机构名称设置(创建一个组织)
管理员密码设置
服务器后端设置
清除slapd时删除数据库?选 No
移动旧数据库?选Yes
允许LDAPv2协议?选No
上述步骤就把openldap的服务器端安装并配置完毕了。
打开防火墙上的ldap,方便外部客户端连接
root@ubuntu:/home/zhl# ufw allow ldap
3、图形客户端phpLDAPadmin
采用命令行操作openldap固然可以,但是还有更简单的方式,phpLDAPadmin是一款web管理界面,使用它操作openldap更加方便。
1)phpLDAPadmin安装
root@ubuntu:/home/zhl# apt-get install phpldapadmin
安装好phpldapadmin后需要修改一些配置
root@ubuntu:/home/zhl# gedit /etc/phpldapadmin/config.php
打开config.php文件,修改内容如下
$servers->setValue('server','name','my LDAP Server');#界面显示的服务名
$servers->setValue('server','host','127.0.0.1');#ldap服务主机IP
$servers->setValue('server','base',array('dc=example,dc=com'));#LDAP server的Base DNs
$servers->setValue('login','bind_id','cn=admin,dc=example,dc=com');#登陆框默认Login DN
phpldapadmin的重启使用如下命令:
root@ubuntu:/home/zhl# /etc/init.d/apache2 restart
2)phpldapadmin登陆
上面即是Ubutun的openldap的安装与基本的配置,下篇将讲述CentOS中的openldap的安装与配置,后续篇章中会记录一下openldap的命令行、权限设置、访问的加密设置、sldapconf工具的介绍及使用等。