应用出现访问异常,很大可能是由于网络设备出现故障或者设备关联验证过程中出现了问题造成的。但是在部分情况下,对系统程序的设置也会成为造成异常现象的原因所在。正如本案例所介绍的单点跳转异常情况。

3.1 问题描述

3.1.1 故障现象

某集团公司准备上线SSO单点登录OA业务,但在测试时发现SSO单点登录后,点击OA办公系统链接,不能跳转到正常业务页面,而是跳转到oa.x.com主页。由于此类故障频繁发生,导致单点登录OA业务无法及时上线,严重影响到该集团日常运作和管理。

3.1.2 基本环境描述

业务访问路径逻辑:

客户端(X.X.24.100)àOA办公系统前端(X.X.39.31)àSP Token验证接口机前端(X.X.24.50)。

SSO单点登录OA业务系统具体认证流程:

1、用户在SSO Portal登录系统之后,根据“UserCode-登录名”获取Token;

2、在SSO Protal中点击单点登录关联业务系统(如OA业务系统)的链接,通过Request参数传递Token到业务系统关联页面;

3、业务系统获取到Token之后,调用SSO Portal的Token验证接口机接口(提供WebService和Rest两种规格的接口)进行验证;

4、返回对象的Code为1,代表验证通过,加载关联页面(Data对象为用户的编号、名称和登录名);

5、返回对象的Code为0或者其他,即验证失败,直接跳转到SSO Portal的登录页面。

图 3-1

3.2 分析过程

点击OA办公系统链接,异常跳转到了http://oa.x.com系统登录页面,如下图所示。

图 3-2

业务应正常跳转到登录页面,如下图所示。

图 3-3

针对此异常跳转产生的时间段(14点13分03秒-14点13分07秒)回溯分析客户端至OA系统前端相应会话,可以看到产生了两条会话连接,如下图所示。

图 3-4

深度解码还原主请求会话(X.X.24.100:64032),可以看到传完Token参数及后续请求页面链接的情况,如下图所示。

图 3-5

进一步观察分析,发现在GET /HTTP/1.1链接后,还出现了回复数据。查看回复数据的关键字,发现是异常跳转页面——“系统登录”页面的信息,如下图所示。

图 3-6

为进一步分析异常点,选择一次正常会话的数据做对比分析。选取13点55分23秒-13点55分32秒时间段的一次正常业务跳转会话,可以看到正常会话时产生的多线程连接数(17条)明显多于异常会话时的连接数(2条),如下图所示。

图 3-7

解码还原会话信息发现:传完Token参数、后续请求页面链接及GET /HTTP/1.1连接后,存在新的请求链接:GET /homepage.nsf/RedirectTO HTTP/1.1,如下图所示。

图 3-8

经查看,发现GET /HTTP/1.1链接后,出现的数据和异常情况时不一致,如下图所示。

图 3-9

正常情况下,GET /homepage.nsf/RedirectTO HTTP/1.1后,返回的数据如下图所示。

图 3-10

通过对比分析,查看到从客户端至OA前端在异常跳转情况下的url请求有较大不同:异常跳转情况下的请求缺少GET /homepage.nsf/RedirectTO HTTP/1.1链接,并且多线程连接会话仅为2条,远低于正常情况时的连接会话。

因业务存在Token关联验证流程,因此需关联分析OA前端与SP Token接口机前端的通信会话。

检索异常跳转时同一时间段14点13分03秒-14点13分07秒OA前端与SP Token接口机前端的通信会话,如下图所示。

图 3-11

深度解码还原此会话,发现通过Token验证接口的验证后,SP Token接口机前端返回的Code值是“1”,而默认认证失败返回的Code值应该是“0”,如下图所示。

图 3-12

同样,对比分析正常业务13点55分23秒-13点55分32秒时间段的通信会话,如下图所示。

图 3-13

解码还原会话后发现SP Token接口机前端返回的Code值是“1”。表明验证通过,符合业务程序正常设定,如下图所示。

图 3-14

通过上述分析可以判断,异常跳转出现时,OA前端发送至SP Token接口机前端的Token的验证返回是正常通过的,也就是说SP Token接口机前端正常返回了成功验证消息(Code=1)。OA前端在收到Token的正常验证后,内部程序存在异常,导致无法生成正常OA系统主页链接请求,最终跳转到异常页面。

3.3 分析总结及问题处理

异常跳转发生时从客户端至OA前端系统请求链接与正常业务时出现的请求链接存在很大不同,正常会话时产生的多线程连接(17条)明显多于异常会话时的连接数(2条)。并且异常跳转发生时,OA前端与SP Token接口机前端的Token关联验证阶段,明显看到验证是成功的。因此可以排除是SP Token接口机前端的问题,OA前端系统程序存在较大可疑。

开发人员在听取分析结论后,修改OA前端系统代码,成功解决了Token正常验证后生成跳转链接的不稳定问题。

3.4 价值

运用网络回溯分析技术对数据流进行精准分析,可迅速排除干扰因素,精准定位SSO单点登录跳转异常的发生节点,确定故障根因。避免业务损失,优化运维工作。

usmssosetup 单点登录被禁用_如何解决SSO单点登录跳转异常问题相关推荐

  1. ubuntu内核和驱动版本不兼容_彻底解决ubuntu循环登录和显卡驱动问题

    目录 什么是循环登录 开机/重启后的登录界面,分辨率变得很低,并且输入密码后黑屏一闪而过又重新回到输入密码的界面,如此循环无法跳出,俗称"循环登录". 为什么会循环登录 造成循环登 ...

  2. SSO单点登录教程(四)自己动手写SSO单点登录服务端和客户端

    作者:蓝雄威,叩丁狼教育高级讲师.原创文章,转载请注明出处. 一.前言 我们自己动手写单点登录的服务端目的是为了加深对单点登录的理解.如果你们公司想实现单点登录/单点注销功能,推荐使用开源的单点登录框 ...

  3. python模拟登录教务系统_用Python实现模拟登录正方教务系统抢课

    最近学校开始选课,但是如果选课时间与自己的事情冲突,这时候就可以使用Python脚本自助抢课,抢课的第一步即是模拟登录,需要模拟登录后保存登录信息然后再进行操作. 而且整个流程是比较简单,这是因为正方 ...

  4. 使用qt设计登录界面初学者_初学者素描:设计登录表单界面

    使用qt设计登录界面初学者 由Bohemian Coding的好伙伴制作的Sketch是界面设计的出色程序. 本入门级教程将向您介绍使用Sketch进行设计. 您将不需要任何程序经验,只需要一些空闲时 ...

  5. 非三星手机无法登录三星账号_如何解决所有三星手机的烦恼

    非三星手机无法登录三星账号 Samsung is the biggest manufacturer of Android phones in the world, but that doesn't m ...

  6. sso 登出_最强SSO单点登录教程(三)单点注销流程分析

    一.前言 单点登录自然也要单点注销,在一个子系统中注销,所有子系统的会话都将被销毁,用下面的图来说明: 单点注销流程 步骤分析: 1.用户在CRM系统中点击注销按钮.会重定向到统一认证中心的注销方法 ...

  7. python3 函数类型限制登录可解封_如何解决python反爬虫限制访问?

    我们想要获取一些大量数据,经常会被拦截住,这是因为访问太频繁的原因,一旦账号不能使用又会带来很大的麻烦.针对于这种情况,小编想了两个应对的方法,一个是网站方面,另一个是地址方面的.本篇会着重于地址方面 ...

  8. win10解除usb禁用_图文解决win10系统电脑禁用UsB设备的办法

    你是否遇到过关于对win10系统win10系统电脑禁用UsB设备的操作方法设置的方法,在使用win10系统的过程中经常不知道如何去对win10系统win10系统电脑禁用UsB设备的操作方法进行设置,有 ...

  9. 预登录握手失败_英雄联盟手游登录问题汇总

    1.出现"无法安装完成"的情况 已经获取了资格,但出现"无法安装完成"的情况,譬如谷歌商店的下载界面一直闪退.下载没进度.卡在安装中.卡在等待中怎么办? 可前往 ...

最新文章

  1. c语言程序二级考试题,2016年计算机二级考试C语言程序设计真题
  2. 江苏小米授权维修商网点收藏
  3. 全面助推国产化进程,网易云信获鲲鹏技术认证
  4. eclipse 安装 lombok插件
  5. 程序员找工作那点事儿
  6. Android官方开发文档Training系列课程中文版:使用Fragment构建动态UI之与其它Fragment通信
  7. c++primer 3.2,3.3练习题
  8. 安全出口指示灯警报、如何解除呢
  9. java大津法确定阈值,大津法得到自适应阈值
  10. python串口数据分包_python TCP Socket的粘包和分包的处理详解
  11. matlab判断向量组线性相关性的三种方法
  12. 【算法学习】Fast burst images denoising
  13. 搭建vue开发环境的步骤
  14. Squid 代理服务器应用
  15. html页面中中文转英文插件,iText 7 的htmlToPdf插件支持转换中文
  16. 如何将HL7转换为XML
  17. untiy 怎么把物体显示在最上层
  18. Kali Linxu中打开Apache服务
  19. 简述计算机视觉中的单眼线索,知觉-心理学文章-壹心理
  20. 简单线性回归和多项式回归

热门文章

  1. FullCalendarDemo5 控件的实例讲解—拖拽实现值班排班(五)
  2. 变量定义在for循环外面还是里面
  3. 前端遮罩层实现_jQuery 实现的遮罩层效果
  4. 江南大学计算机考研学硕报录比,江南大学考研报考录取比例
  5. 狐狸抓兔子(实验楼的练习)
  6. JS 监听隐藏域值变化
  7. M103: Basic Cluster Administration chapter 0 Introduction学习记录
  8. 【CVX】Solves a simple QCQP
  9. 学计算机电脑选台式还是笔记本,选台式机还是笔记本?台式机和笔记本电脑选购技巧...
  10. 如何实现android清理后台时,自己的软件不被清理