midpoint源码阅读八(使用示例:多租户用户管理四——示例操作步骤)

多租户用户管理示例的官网介绍如下:https://wiki.evolveum.com/display/midPoint/Multitenant+User+Management+for+SaaS ,官网的介绍与midpoint V3.8版本的不是很匹配,现记录一下3.8版本的配置步骤。
该示例的名字Mutitenant User Management for SaaS (软件及服务的多租户用户管理),我们先了解一下多租户的概念。

多租户是指软件架构支持一个实例服务多个用户(Customer),每一个用户被称之为租户(tenant),软件给予租户可以对系统进行部分定制的能力,如用户界面颜色或业务规则,但是他们不能定制修改软件的代码。
多租户技术(multi-tenancy technology)实际是一种软件架构技术,它是在探讨与实现如何在多用户的环境下共用相同的系统或程序组件,并且仍可以确保各用户的业务不互相影响。
多租户在数据存储上的三种方案:
1、独立数据库,即一个租户一个数据库
2、共享数据库,隔离数据架构 ,即多个或所有租户共享Database,但是每个租户一个Schema(也可叫做一个user)
3、共享数据库,共享数据架构 ,即租户共享同一个Database、同一个Schema,但在表中增加TenantID多租户的数据字段。

1、Mutitenant User Management for SaaS示例简介

该示例模拟场景:多个租户在midpoint和数据源系统中 管理自己的员工和管理员。
整体操作流程:第一批管理员级用户通过csv文件导入到midpoint中、各自租户的管理员登陆到midpoint上管理自己的员工信息。

该示例的租户通过组织树来表示,如下图:

该租户结构在OpenLDAP中的结构如下:
openldap

本示例用于 租户仅需在midpoint当中管理用户,同时也管理了OpenLDAP中的用户。

2、Mutitenant User Management for SaaS示例操作步骤

midpoint提供了配置文件配置系统的功能,该示例即是通过xml配置文件来实现的该场景。下图是每个配置文件的简单描述
openldap

配置文件的导入过程如下:
1)用midpoint默认的超级管理员(用户名administrator,密码5ecr3t)登陆系统
2)点击 配置—>导入对象,打开导入对象页面,如下图
导入对象
3)在该页面依次导入如下文件
①org-top.xml
②normal-paassword-policy.xml
③lookup-employee-type.xml
④object-template-org.xml
⑤object-template-user.xml
⑥crm-simulation-sync.xml
该示例使用的是3.6版本以前自带的CSVFileConnector,而3.6版本(不含3.6版本)以后则不再自带该Connector,所以我们需要从官网地址下载其connector-csvfile-1.4.2.0.jar文件,并将其放入到 %midpoint.home%\icf-connectors\文件夹中,启动web服务,midpoint将自动将该连接器配置到本地库中,如下图:
connector
crm-simulation-sync.xml修改如下图所示:
crm
⑦openldap-customers.xml
该文件修改如下图所示:
openldap
⑧metarole-org.xml
⑨role-customer-authz-admin、role-customer-authz-enduser.xml、role-customer-basic-admin.xml、role-customer-basic-poweruser.xml、role-customer-basic-user.xml
⑩ sysconfig-readme.txt(修改系统配置-通知)
4)导入初始的租户系统管理员
资源
import
5)资源导入后,创建了各租户的管理员以及,该租户组织结构
组织
用户信息
projection
资源
ldap

本篇仅从操作上介绍该示例,下篇会从配置文件(xml)入手,记录一下,导入csv后一系列的过程在xml中是如何体现的。

猜你喜欢

转载自blog.csdn.net/fengshuiyue/article/details/80747671