关键词:系统集成,O2OA,SSO,单点认证,认证集成

O2OA平台提供灵活的系统集成方案,让企业信息平台与各类第三方系统进行集成。本篇主要介绍如何在O2OA中与其他系统实现单点登入。


1.1 URL传递加密参数方式

这种方式是比较通用简单的实现方式,应集成门户将用户登录信息(用户ID)以URL参数方式传递给被集成系统,被集成系统通过接收参数获取登陆用户的信息,实现单点登陆。

1.1.1 集成前提

1、被集成系统为B/S架构。
2、被集成系统可以二次开发接收参数。
3、被集成系统需要使用相同的加密解密算法。

1.1.2 集成方式

URL传加密参数方式优点在于通用性较强。为了系统安全,传递参数的值都通过加密算法(DES2)加密,并通过其它方法来保证安全性。这种方式对被集成系统要求比较低,针对被集成系统现状可以灵活转变。

1.1.3 场景

用户登录到OA系统后,点击对方系统链接,系统会自动跳转到OA系统的中间页面,中间页面将登陆用户的ID(uid:邮箱账号前缀)和系统当前时间(current)加密后设置到表单域然后通过post方式提交对方系统指定url,对方系统在接受到参数后首先通过对应解密算法解密参数值,得到uid和current两个参数的值,然后验证uid合法性,验证URL时间合法性(规则见2.1.5)。如果以上两项中有不符合要求,跳转到系统登录页面。如果两项都通过,初始化系统后进入系统。

1.1.4 加密算法

本次uid和current加密解密都是通过DES2加解密算法来实现。算法中key由双方商定。
算法调用如下: 返回值 方法名 说明 String createEncryptor(String str) 加密字符串 String byteToString(byte[] str) 转换byte数组为字符串 byte[] stringToByte(String str) 转换字符串为byte[]型数据 String createDecryptor(String str) 解密字符串
代码片断:

DES2 des = new DES2(key); 
String str = “tempstr”; 
String tempstr = des. createEncryptor(str);//加密字符串
String strtmp = des. createDecryptor(tempstr);//解密字符串


1.1.5 URL合法性验证规则

此次为防止盗用链接,设置时间校验。系统接收到current后,用系统当前时间和current比较,如果时间之差在10分钟之内,则视为有效的URL,否则视为无效的URL。时间验证需要同步物理主机的时间。
current验证规则代码片断:

String current = request.getParemter(“current”);//获得current参数

DES2 des = new DES2(key); 
current = des.createDecryptor (current);

long oldTime = Long.parseLong(s); //解密字符串 
Calendar cal = Calendar.getInstance(); 
long time = cal.getTimeInMillis(); 
if(time-oldtime<600000){ 
    //url有效 ...... 
}else{ 
    //跳转到登录页面 
}

SSO配置入口

先正常完成O2OA系统启动,使用xadmin登录系统,在左上角系统菜单中点击控制面板-系统设置

注意:xadmin 帐号不能用于单点登入

具体配置请参考以下文档:
系统集成-单点认证SSO配置之约定密钥
系统集成-单点认证SSO配置之OAUTH2
系统集成-SSO微软ADSF单点认证-AD域认证

推荐文章:

权限管理-平台组织人员权限管理
2021-02-25
O2OA开发平台组织架构管理组件不局限于传统的组织,群组,角色,人员的关系,在减小授权管理的复杂性基础上,通过独特的职位管理,汇报关系管理思想,增强了架构管理的
系统集成-腾讯企业邮集成配置
2021-02-25
O2OA平台并不包含企业邮箱解决方案,我们建议将专业的商业邮箱集成到O2OA中,作为更优的企业邮箱解决方案。本篇主要介绍如何在O2OA中如何集成腾讯企业邮。
门户开发-HTML模板导入
2021-03-01
O2OA提供的门户管理平台可以让用户自由地为企业定制符合企业特色的门户系统,门户页面。可以让页面展现的内容真正满足企业自身的需求。平台支持将完整的HTML文件导
流程设计-拆分流程样例
2021-03-01
在复杂的流程设计中通常需要使用到拆分功能,比如公文管理流程中的各部门办理。本文主要介绍如何在O2OA平台中设计流程时使用流程拆分功能。
流程设计-Excel数据导入数据网格(仅支持IE)
2021-02-26
O2OA提供数据网格组件来简体表单中的可编辑表格或者数据展现表格的设计,如费用报销,差旅报销等业务都可能使用到数据网格。本文主要介绍如何将Excel中的数据导入
常见问题-如何使用服务管理调用WebService
2021-02-07
一、接口样例1、打开服务管理平台2、创建接口写上相关代码/********************this.entityManager;//实体管理器this.
业务开发-组织架构-人员信息创建
2021-02-26
O2OA提供多级组织架构设置能力,用户可以在系统内设置集团、分公司、部门、小组等多级企业组织结构来满足办公需要。本文主要介绍如何在O2OA中添加人员信息。
系统配置-自定义消息提醒
2021-02-25
O2OA平台设计了灵活的消息提醒数据交互方式,开发者可以根据自己的需要,来消费消息提醒数据,也可以将消息提醒数据接入到Kafka消息中间件来实现消息的准实时提醒
服务集成-通过数据接口获取流程数据
2021-03-02
O2OA允许用户自行修改源码或者增加源码来扩展系统服务,也可以包装功能更强的业务服务。本文主要介绍如何在Java代码中通过接口获取流程的业务数据。
常见问题-IOS移动办公无法收到验证码
2021-02-07
iphone7withIOS10.2.1无法收到服务器绑定的验证码。一、错误描述错误!underlying(ErrorDomain=NSURLErrorDoma

results matching ""

    No results matching ""