泛微二次开发 - 单点登录
引言
背景
e-cology有提供单点登录地址及参数,供第三方系统调用单点登录到e-cology系统。
单点登录地址:/login/VerifyLogin.jsp post方式
账号参数:loginid
密码参数:userpassword
固定参数:logintype=1
这种方式有所限制,只支持第三方系统单点登录到e-cology登录首页。
项目概述
功能描述
现在,e-cology提供token验证的方式,第三方系统先调用获取token接口获取token,然后将“&ssoToken=token值”拼接到OA指定页面的url后面,访问这个页面,OA将验证token,验证成功后, 直接打开OA指定页面,验证不通过,则跳转到OA登录页面。
功能说明
配置说明
web.xml配置
在ecology\WEB-INF\web.xml中配置:(需要放在安全补丁包的后面)
<filter> <filter-name>WeaverLoginFilter</filter-name> <filter-class>weaver.weaversso.WeaverLoginFilter</filter-class> </filter> <filter-mapping> <filter-name>WeaverLoginFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> |
在ecology\WEB-INF\web.xml最后面配置
<servlet> <servlet-name>getToken</servlet-name> <servlet-class>weaver.weaversso.GetToken</servlet-class> </servlet> <servlet-mapping> <servlet-name>getToken</servlet-name> <url-pattern>/ssologin/getToken</url-pattern> </servlet-mapping> <servlet> <servlet-name>CheckToken</servlet-name> <servlet-class>weaver.weaversso.CheckToken</servlet-class> </servlet> <servlet-mapping> <servlet-name>CheckToken</servlet-name> <url-pattern>/ssologin/checkToken</url-pattern> </servlet-mapping> |
WeaverLoginClient.properties配置
需要配置ecology\WEB-INF\prop\WeaverLoginClient.properties文件
ssss=127.0.0.1 |
备注:左侧配置单点登录OA标识,右侧配置允许单点登录OA的物理IP地址,多个以逗号分隔。
接口说明
获取token接口
接口地址:http://OA地址:port/ssologin/getToken
接口方法:
调用地址示例 |
http://appip:port/ssologin/getToken |
功能说明 |
获取用户登录token |
调用方式 |
POST |
参数说明 |
|
参数名 |
说明 |
appid |
WeaverLoginClient.properties文件中左侧标识 |
loginid |
OA账号 |
返回值说明 |
|
返回值说明 |
用户登录令牌 令牌生成规则 AES(loginid+"|"+ts+"|"+appid) 生成的令牌要保存到数据库中 |
获取token成功后,会将token值记录到sso_login_oa表中。
验证token接口
接口地址:http://OA地址:port/ssologin/checkToken
接口方法:
调用地址示例 |
http://appip:port/ssologin/checkToken |
功能说明 |
校验用户登录token是否有效 |
调用方式 |
POST |
参数说明 |
|
参数名 |
说明 |
token |
用户登录令牌 |
返回值说明 |
|
返回值说明 |
true 表示校验成功 false 表示校验失败 |
Postman调用实例
获取token接口
接口地址:http://192.168.42.186:8080/ssologin/getToken
Header设置:Content-Type:application/x-www-form-urlencoded
Body选择:x-www-form-urlencoded
调用实例:
输入: |
|
参数名 |
参数值 |
appid |
test4 (WeaverLoginClient.properties文件有配置此应用IP) |
loginid |
zixun004 (注册应用中对应appid存在此用户) |
输出: |
|
CC9FC0BBE6406D4F9821B601B285F5A7537682B1684D98D5DC093860FABD4564 |
验证token接口
接口地址:http://192.168.42.186:8080/ssologin/checkToken
调用实例:
输入: |
|
参数名 |
参数值 |
token |
CC9FC0BBE6406D4F9821B601B285F5A7537682B1684D98D5DC093860FABD4564 |
输出: |
|
true |
第三方系统单点登录OA实例
第三方单点登录OA,token只有一次有效。具体实例请参考《第三方系统单点登录OA系统.doc》文档。
泛微二次开发 - 单点登录相关推荐
- 帆软单点登录_FineReport和泛微OA(Ecology)的单点登录集成方案
最近出现了很多关于帆软报表和泛微OA的集成问题,均出现在"单点登录"上.直接也有相关的文章介绍一些FineReport和泛微集成的背景.价值等,以及FineReport和OA的深度 ...
- 超全 泛微 E9 Ecology 9开发资料大全 开源资源下载 泛微E9二次开发 泛微开发实战经验 泛微开发实战例子 泛微二次开发项目例子 泛微二次开发Demo 泛微二次开发完整例子 泛微二次开发入门
由于工作需要,E9在泛微一推出来,以前所在的企业就第一时间上线了,经过四年多的运行,功能强大再加上在上面开发非常多的业务,一般的企业员工只需要打开泛微就可以处理完平时信息化的业务.后来 ...
- FineReport和泛微OA(Ecology)的单点登录集成方案
最近出现了很多关于帆软报表和泛微OA的集成问题,均出现在"单点登录"上.直接也有相关的文章介绍一些FineReport和泛微集成的背景.价值等,以及FineReport和OA的深度 ...
- 泛微OA E9 开发 创建系统工作流程提醒
泛微OA中有很多 默认的系统工作流提醒,泛微厂商也提供好了接口给到二次开发人员 SysRemindWorkflow sys=new SysRemindWorkflow(); String hrmid= ...
- Java开发 - 单点登录初体验(Spring Security + JWT)
目录 前言 为什么要登录 登录的种类 Cookie-Session Cookie-Session-local storage JWT令牌 几种登陆总结 用户身份认证与授权 创建工程 添加 ...
- 泛微OA自开发初始应做哪些
1.首先下载eclipse软件,将OA服务器中的resin/lib与WEB-INF/lib下的文件放在创建好的项目中 2.初步掌握泛微OA中各个对象的用途,之前我的文章中有根据代码介绍基本上自行开发一 ...
- 基于Qt的海康威视网络摄像头SDK的二次开发——摄像头登录和预览
海康威视网络摄像头SDK的二次开发,需要摄像头IP地址,与主机的IP地址在同一网段,能够ping通摄像头IP,才能登录成功.摄像头是有账户名和密码,这需要记住,在开发的时候需要用到. 在开发前可以先用 ...
- 泛微E8设置开发环境
首先找到 Idea 开发工具的设置: 在 File Types 里面,找忽略的文件夹,是否有 classbean.如有则无法将其添加为泛微的系统库: 然后添加 Resin 目录下的 /lib 目录.项 ...
- 用友U8二次开发之登录
首先引用U8的登录DLL: 然后是调用U8的登录UI: UFSoft.U8.Framework.Login.UI.clsLogin U_Login = new UFSoft.U8.Framework. ...
最新文章
- c2 链路_POS链路不能打开的解决办法
- Promise对象和async函数
- golang中的strings.Trim
- php处理heic格式图片,iPhone 照片为heic格式怎么处理?
- 女友刷B站流量告急,技术男友轻松搞定!
- c语言课设报告时钟vc环境,C语言课程设计报告模拟时钟转动程序.doc
- c语言json映射,GitHub - xujun621/cson: 基于C语言的json数据映射解析库
- 怎么在c语言里输入数组元素,如何在不输入n的情况下输入数组中的元素? (C )...
- 讯飞超脑2030计划开启 持续引领人工智能未来发展
- web页面实时刷新之browser sync
- idea 查看实现类快捷键及类里面的方法对应的快捷键、跳到下一行
- 素数筛法求素数(线性时间)
- mysql工作原理(网络搜索整理的)
- Guava学习笔记(二):Optional优雅的使用null
- 红米note2 解账号锁、救砖 (附刷机包,工具)
- RDO方式安装Openstack Allinone问题记录
- python网络数据采集 第二版_Python网络数据采集 (影印版)第2版
- Yii Framework 开发教程(22) UI 组件 Zii组件简介
- 计算机累加器有加法器功能吗,累加器是什么_累加器的作用及原理介绍
- 试图解释清楚【JavaScript Event Loop】
热门文章
- 3 Spark机器学习 spark MLlib 矩阵向量、矩阵运算Breeze库-2
- Mops插件接入注意点
- c语言程序中的算数表达式X Y-Z,C语言程序设计-中国大学mooc-题库零氪
- 用2年通过法考+CPA,他是如何做到的?
- 条件分布函数(离散-条件分布律)
- ibatis iterate标签
- SWUST OJ 2540 少女输出问题
- 斯特林数、欧拉数的求和技术及应用
- (转)每日语录——2010/04/09网络经典语录(生活/IT与互联网/思想/@/娱乐)
- Tradingview做好交易图表工具(一)