概述

OIM对于用户数据有较为完善的方案,可以做到根据策略自动推送,字段更新自动推送等,详细方案可以参考之前的文章,相比用户数据,组织数据确没有这么便利,很多需求需要自开发,本文系统性介绍关于组织,在OIM中如何做到生产级别的可用性。

连接器

连接器方案上首选Webservice的连接器,因为接口可以自开发,扩展性强,可以根据业务定制接口,但遗憾的是Webservice Connector并不支持组织,而且没有官方的12c版本,导致不能使用12c的新特性。但幸运的是,可以通过更改资源类型让Webservice Connector支持组织数据,具体步骤可以参考之前的这篇文章,这里就不再赘述。

当然,你也可以选择自开发连接器,这个不在本文的讨论范围内,可以参考官方文档

定时任务

在用户数据同步中,可以通过策略+角色实现自动推送,组织数据跟用户数据不同的是,组织数据是树结构,子节点的行为一般要和父节点保持一致,因此组织数据做不到自动推送的效果,我们需要开发一个定时器定时去做推送。OIM有提供定时调度功能,也支持自定义定时器。

Read the rest of this entry

方案概述

Webservice Connector在OIM中只能同步用户资源,这一点在用build创建connector的时候就已经确定了,在connector的资源文件template/ConnectorConfig.xml中就定义了资源类型

<Resource repo-type="RDBMS" name="@{WS_LONG_CODE} User">
    <OBJ_TYPE>Application</OBJ_TYPE>
    <OBJ_ALLOWALL>1</OBJ_ALLOWALL>
    <OBJ_ALLOW_MULTIPLE>1</OBJ_ALLOW_MULTIPLE>
	<OBJ_ORDER_FOR>U</OBJ_ORDER_FOR>
....
</Resource>
<OBJ_ORDER_FOR>U</OBJ_ORDER_FOR>就表示该connector只能用于用户类型,所以在组织界面,无法选择webservice的connector,同样,webservice connector也未提供组织同步相关字段。

如果自己再开发一个connector一方面是学习成本,一方面是维护成本,既然只有类型不一样,那是否能够通过更改类型让webservice connector也支持组织同步?幸运的是答案是可以的。

Read the rest of this entry

背景

某项目weblogic AdminServer在启动后会慢慢消耗内存,并且超过-Xmx设置的大小,最终消耗完整个服务器的内存。

  • 内存使用情况
[root@esb-osb1 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:          31996       30878         229         195         888         358
Swap:          8063        5793        2270

# 方案概述

OIM可以通过官方Database Applications Table进行连接数据库做用户数据推送

# 安装

1. 从oracle官网下载Database Applications Table安装包

2. 将zip安装包上传到服务器并解压,解压后需要将生成器一起解压

$ unzip dbat-12.2.1.3.0.zip
$ cd dbat-12.2.1.3.0
$ cd dbat-12.2.1.3.0/generator/
$ unzip dbat-generator-12.2.1.3.0.zip
$ ll
total 7300
drwxr-xr-x 5 oracle oinstall    4096 Mar 14 00:24 dbat-generator-12.2.1.3.0
-rw-r--r-- 1 oracle oinstall 7468754 Mar 22  2019 dbat-generator-12.2.1.3.0.zip

Read the rest of this entry

业务场景

目前已经配了OIM user到process form的映射(通过prepopulate配置),但是如果oim user信息发生变更,不会自动同步到process form中,以webservice connector为例,期望oim user信息发生变更,webservice的表单能够自动同步,自动发起update操作。

实现

在OIM中,用户字段可以扩展,扩展字段的自动同步和标准字段的稍有不同,我在下文中会标注出。

概述

在oim中,同步操作就是一个task,配置同步的过程也就是配置task的过程,task分为两部分,oim user的task本身已经定义了一部分字段,可以增加,连接器表单task不同的连接器都会预定义一些字段,可以自行增加,同步的过程如下:

Read the rest of this entry

背景介绍

oim user需要添加自定义字段,通过webservice connector推送到业务系统,webservice的表单也需要添加自定义字段,并且oim user中的字段能够映射到webservice中的自定义字段。

字段添加

1. 登录sysadmin(http://10.60.25.67:14000/sysadmin)

2. 点击SandBoxes创建沙盒,沙盒名称自定义,沙盒创建好默认激活

Read the rest of this entry

  • 创建Mail Server的IT Resource
  • 登录EM,进入System MBean Browser

Read the rest of this entry

业务介绍

现需要将OIM用户推送到welink系统,通过webservice connector实现,并且要求符合指定规则用户能够自动同步。

安装Webservice Connector

1. 从oracle官网下载WebServices Connector.将zip文件Webservices-11.1.1.5.0.zip上传到服务器,解压后在进入Webservices-11.1.1.5.0目录,执行以下命令生成一个connector

[oracle]
$ cd Webservices-11.1.1.5.0
$ chmod +x  build-connector.sh
$ ./build-connector.sh "Welink" "WL"

Read the rest of this entry

背景

去年我给一个项目配了ohs的ssl证书,将他们的门户升级到https,并且写了一篇博文记录配置过程,这也是百度能搜索到的唯一一篇介绍ohs配置https的文章,这篇文档写的不够详细,而且里面是通过owm这个gui工具进行配置,在linux下使用gui终归是不大方便。最近给另外一个项目配置https,遇到了新问题,也用上了新工具,所以就再写一篇记录下。

你需要提前了解的

https

我们都知道http是明文协议,如果你在路由器那边进行抓包就能看到http完整的报文信息,我们平时在网站进行登录的时候输入的用户名密码,如果是用http协议发送给后台被抓包后将直接暴露无遗,因此http是一种不安全的协议,http导致另外一个问题就是广告泛滥,因为是明文,运营商可以拦截服务器返回的报文进行修改,将广告插入到页面中,我们平时看到的屠龙宝刀 点击就送 极品装备 一秒刷爆有时候不是网站本身的广告,而且运营商插的广告。

因为http有如此多的问题,因此有了https,https就是http+ssl,使用ssl协议对http报文进行加密,保证报文的安全性和完整。本次客户配置https的初衷也是发现他们部分用户无法登录门户,排查下来原因是这些用户用的路由器都是同一个品牌,该品牌路由器会对带下划线的http header进行过滤,刚好接口的token名称带有下划线被过滤了,并且该品牌路由器厂商已经倒闭无法提供技术支持(可见一个靠谱的供应商有多重要),给客户提的方案就是升级到https这样路由器就无法进行拦截过滤。

Read the rest of this entry

背景

某项目需要集成新系统和邮箱单点登录,邮箱是outlook,邮箱系统有自己的单点登录系统ADFS,门户单点登录使用OAM,OAM和ADFS通过SAML2.0进行单点登录。

碰到的问题是,其他系统都可以登录进去,唯独邮箱无法登录,而且老系统已经做了和邮箱的单点登录,并且可以成功登录,新系统一直无法登录。

老系统和邮箱做的是伪单点,就是在代码里通过登录oamconsole获取到cookie(也是骚操作:) ),将cookie返回给浏览器,通过这种间接的方式进行登录,新门户通过配置ohs+webgate进行单点登录。

以上是背景。

Read the rest of this entry

,