java web项目利用Filter进行单点登录的简单实现
来源:互联网 发布:33选6的所有组合数据 编辑:程序博客网 时间:2024/06/11 21:27
接到一项目需求,要求对项目进行改造,主要涉及单点登录功能。以下为详细内容:
认证整合方案
名词解释:
仿真:行内现有的实达仿真系统程序。
EF:图形前端系统。
EFS:图形前端系统服务端。
EFC:图形前端系统客户端。
UCS: 用户认证管理模块实现方式:
单点登录功能就是用户通过登录EF系统后,EFC界面上提供所有嵌入系统链接按钮或者菜单(包含个人网上银行内部管理系统、验印系统、二代身份核查等系统)。用户点击相应连接或按钮(图标)后EF系统跨过原系统登录步骤直接进入该系统操作界面。实现用户一次登录,多系统操作功能。
1、 用户点击嵌入系统链接或按钮,EFC将当前登录用户ID和外围系统编号发送给EFS中的认证服务模块;
2、 认证服务模块返回EFC当前登录所对应的外围系统用户和令牌;
3、 EFC将用户和令牌传递给嵌入系统客户端(仿真字节流方式、URL参数方式、命令行带参数方式);
4、 外围系统客户端将对应的用户和令牌传递给服务端(同时进行本系统用户登录操作);
5、 外围系统服务端将用户和令牌到认证系统做认证;
6、 认证系统返回认证结果给外围系统服务端;
7、 外围系统服务端将认证结果回传给客户端。
UCS认证服务令牌的产生:
图形前端系统的UCS认证服务模块会根据所嵌入系统的系统编号(图形前端系统统一颁发)、柜员号(映射后的编号)产生27位长度的令牌,格式如下:
XXXXXX-XXXXXX-XXXXXX-XXXXXX
嵌入URL的发起:
当柜员要访问被嵌入系统,图形前端系统会将UCS认证服务模块颁发的令牌以及第三方系统(被嵌入系统)需要验证令牌的服务器地址、服务端口、验证请求路径拼接到需要发起URL请求的最后,格式如下:
sysno=1001&=tellerno=10001&token=XXXXXX-XXXXXX-XXXXXX-XXXXXX&ip1=127.0.0.1&port1=8989&path1=/efs/efs/verifytk.do
完整事例:
https://130.1.10.201:9043/ibm/console? sysno=1001&tellerno=10001&token=231232-231441-561267-907612&ip1=127.0.0.1&port1=8989&path1=/efs/efs/verifytk.do
注:发起的链接是http或者https适被嵌入式系统而定,具体的第三方系统要求传入的参数由第三方提出看新柜面综合前端系统是否能够满足(新柜面综合前端系统能够提供机构、柜员、日期信息)
第三方发起URL认证与验证:
第三方系统收到url请求后,得到token,ip,port,path等参数后。需要发起token的合法性校验。通过提供的jar调用相应的api进行验证,验证成功后返回true。
TokenHttpClientclient = newTokenHttpClient();boolean tokenCheck =client.tokenCheck(http://localhost:8080/efs/tokenCheck.do?sysno=01&tellerno=000001&token=31232-231441-561267-907612);
其中localhost为上送请求参数中的ip1,端口8080为port1。路径为path1,后边的sysno为上送sysno,tellerno为上送的tellerno,token为上送的Token。
第三方接到令牌认证后处理:
第三方系统从图形前端系统接收到令牌认证返回后,根据接收到的状态判断是否能够打开第三方系统。
- java web项目利用Filter进行单点登录的简单实现
- java web项目利用Filter进行单点登录的简单实现(解决方案)
- 单点登录原理和java实现简单的单点登录
- 单点登录原理和java实现简单的单点登录
- 单点登录原理和java实现简单的单点登录
- 单点登录原理和java实现简单的单点登录
- 单点登录原理和java实现简单的单点登录
- 单点登录原理和java实现简单的单点登录
- 单点登录原理和java实现简单的单点登录
- 为项目创建CAS的filter实现单点登录
- 项目创建CAS的filter实现单点登录
- Java Web 系统单点登录的实现
- Java Web 系统单点登录的实现
- Filter二(利用Filter实现简单的登录验证)
- JAVA实现简单的单点登录
- java实现简单的单点登录
- java实现简单的单点登录
- java实现简单的单点登录
- 【学习笔记】python实现的套接字socket
- 详解Java解析XML的四种方法
- IOS成长之路
- 五一快放假了,我们一起走吧,阿里嘎经历过及啊了公交辣椒干辣椒噶就两个就按了国内
- codeforces Buttons 数学公式构建
- java web项目利用Filter进行单点登录的简单实现
- WIN7 64位配置X86 MySQL 数据源
- 那些闪亮的日子
- 花生壳不免费了,除了花生壳的选择
- Lucene 4.0 TieredMergePolicy
- 各种数据结构性能的比较
- 按照严版伪代码写线性表的顺序实现
- Linux上ipv6的RA配置
- ubuntu+apache2+php5+mysql5.0的安装(apt-get安装路径)