开发需求:
与其他系统实现单点登入
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{ 跳转到登录页面 }

推荐文章:

门户开发-页面部件设计
2021-03-01
O2OA提供的门户管理平台可以让用户自由地为企业定制符合企业特色的门户系统,门户页面。可以让页面展现的内容真正满足企业自身的需求。本文主要介绍如何在O2OA中创
服务集成-使用平台内置用户数据创建临时业务字段
2021-02-07
很多场景中需要记录用户的一些自定义个人设置信息,比如:用户使用语言,用户流程一键提交等一些在平台内部没有默认记录的业务场景字段。可以使用平台内置的UD对象来新增
开发知识-Vue篇:使用Vue-CLI开发O2应用
2021-02-07
  Vue-CLI是Vue官方提供的CLI工具,用于为应用快速搭建繁杂的脚手架。本章我们介绍使用Vue-CLI工具在Node,js环境下,Vue和O2集成应用开
数据中心-自定义查询语句
2021-03-01
O2OA提供的数据管理中心,可以让用户通过配置的形式完成对数据的汇总,统计和数据分组展现,查询和搜索数据形成列表数据展现。也支持用户配置独立的数据表来适应特殊的
连接O2云体验APP移动手机办公
2021-02-25
O2OA拥有配套的移动办公APP,支持IOS和安卓端,用户可在连接O2云之后,使用APP使用移动办公。移动办公APP开放源代码,不会产生任何费用。本篇主要简单讲
平台维护-流转中工作数据的查询、操作和管理
2021-02-26
O2OA提供平台数据维护应用,用于对平台应用类数据的维护操作,用户可以在应用市场选择安装平台维护应用。本篇主要简单介绍流转中工作数据的查询、操作和管理功能。
新增组织
2020-08-21
请求报文{"action":"add","name":"",//名称,可以重名."unique":"",//唯一标识,不可重复,为空则使用自动填充值"disti
单点认证SSO-相关汇总
2021-02-07
一、系统默认方式二、自定义相关实现三、OAUTH2实现一、SSO配置先正常完成O2OA系统启动,使用xadmin登录系统,点击左上角系统菜单-系统设置,如下图:
系统配置-消息提醒配置说明
2021-02-25
O2OA平台设计了灵活的消息提醒数据交互方式,开发者可以根据自己的需要,来消费消息提醒数据,也可以将消息提醒数据接入到Kafka消息中间件来实现消息的准实时提醒
OEM白标-如何修改平台中的Logo图标和文字
2021-02-22
一、修改标签页左上角o2专用图标需修改下图中的图标:修改位置在:o2server\servers\webServer目录下的favicon.ico文件,可以把此

results matching ""

    No results matching ""