cas 登录成功不跳转 CommonUtils.getResponseFromServer

news2024/11/25 22:52:13

目录

  • 报错信息
  • 问题背景
  • 问题原因
  • 现场服务器情况
  • 流程
  • 修改方法

报错信息

2016-08-18 17:05:08.718 [http-bio-8080-exec-9] ERROR org.jasig.cas.client.util.CommonUtils.getResponseFromServer - 连接超时
java.net.ConnectException: 连接超时
java.net.ConnectException: Connection timed out(Connection timed out)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:673)
at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.protocol.https.HttpsClient.(HttpsClient.java:264)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1156)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1050)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)
at org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:431)
at org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:41)
at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:193)
at com.mlcp.org.pac4j.cas.credentials.authenticator.CasAuthenticator.validate(CasAuthenticator.java:62)

问题背景

自己搞了一个web项目, 搞了一个cas-overlay单点登录服务, 配置好后, 将web和cas放到一个tomcat, 可以正常跳转, 没有任何问题, 之后把两个项目放到现场的linux服务器的tomcat中, 输入用户名和密码之后不跳转到主界面, 一直卡着不动

问题原因

主要是因为现场服务器做了ip映射

我们知道在输入完用户名和密码进行登录时, cas-server会返回一个ticket, 之后会用这个ticket去服务器端校验, 如果校验通过会返回用户名, 并进行一系列操作, 最后跳转
在这里插入图片描述
出现上面的报错就是因为第五步发生了问题, 去cas-server端检验ticket, 没有连接到cas-server, 所以超时了

现场服务器情况

在这里插入图片描述

流程

  1. 浏览器访问 10.52.2.156:18080/home
  2. cas拦截 自动跳转到 10.52.2.156:18080/cas/login?service=https://10.52.2.156:18080/home
  3. 输入用户名和密码
  4. 页面卡死, tomcat服务器报错, 页面不跳转

页面跳转时, 去cas-server去校验ticket , 校验的链接是 :

http://10.52.2.156:18080/cas/serviceValidate?ticket=ST-4-4ATNzEfBzFhL9XJ2k3j1MK0WhmEhost-192-168-100-101&service=http%3A%2F%2F10.52.2.156%3A18080%2Fhome

看到这里, 想必大家都知道问题了. web去cas校验ticket 数据linux服务器内部访问, 不能在使用映射ip和端口了, 应该使用linux服务器真正的ip和端口, 也就是

http://192.168.100.101:8080/cas/serviceValidate?ticket=ST-4-4ATNzEfBzFhL9XJ2k3j1MK0WhmEhost-192-168-100-101&service=http%3A%2F%2F10.52.2.156%3A18080%2Fhome

因此我们只需要修改校验ticket的ip和端口就可以了, 看一下源码
web段的 AbstractUrlBasedTicketValidator类的constructValidationUrl方法
在这里插入图片描述

修改方法

将项目打包后, 使用解压软件打开jar/war包, 替换/lib 下面jar包里面的class文件就可以了
替换class文件教程 :
https://blog.csdn.net/weixin_43178406/article/details/119037447

我自己修改的文件 :
在这里插入图片描述

之后进行登录, 正常跳转

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/346023.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Springboot + VUE+Uniapp全套JAVA高端WMS仓库管理系统源码

WMS框架:springboot mybatis redis mysql VUE uniapp 包含:服务端JAVA全套源码, VUE后台前端代码uniapp前端微信小程序源码 说明:uniapp前端如需发布其他端小程序,请自行进行适配调整。 功能: 1、支持入库、质检…

【2023最新教程】从0到1开发自动化测试框架(0基础也能看懂)

一、序言 随着项目版本的快速迭代、APP测试有以下几个特点: 首先,功能点多且细,测试工作量大,容易遗漏;其次,代码模块常改动,回归测试很频繁,测试重复低效;最后&#x…

css书写方式

目录标题一、css是什么?二、css的书写方式1、行内样式【不推荐使用,太固定】2、页面样式(又叫内联样式)3、外联样式【店家推荐】4、import与link标签的区别一、css是什么? css(cascade style sheet)是用来装饰和装扮页…

【速通版】吴恩达机器学习笔记Part4

开启第二课! 目录 1.神经网络概述 2 前向传播(forward propogation)神经网络 3. tensorflow实现 Numpy中的matrix: 用循环写NN: ​用numpy写NN:​ AGI​ 关于矩阵运算的解释(略) 用tf训练…

Redis主从、哨兵、集群原理

1、 前言 大家好,我是捡田螺的小男孩。今天跟小伙伴们一起学习Redis的主从、哨兵、Redis Cluster集群。 Redis主从 Redis哨兵 Redis Cluster集群 1、Redis 主从 面试官经常会问到Redis的高可用。Redis高可用回答包括两个层面,一个就是数据不能丢失&#…

叮当网上书城项目简介

叮当网上书城项目 一、项目功能 1.前台功能 图书基本展示,包括推荐图书展示和类图书类型展示.推荐图书包括条幅推荐,热销推荐和新品推荐.按照图书类型展示商品.图书详细信息展示.图书加入购物车.修改购物车内图书信息,例如数量等.用户登录.用户注册.修改个人信息,包括密码和…

漏洞修改全记录(工作总结)

漏洞修改记录1 : zookeeper 取消对外暴露2 : web服务器配置 CSP header 配置安全配置3 : 不安全的访问4 : 静态资源未授权访问1 : zookeeper 取消对外暴露 解决方式:增加密码增加密码 2 : web服务器配置 CSP header 配置安全配置 解决方式:接口配置CS…

new bing的申请与使用教程

文章目录新必应申请新必应免代使用教程总结新必应申请 下载安装 Edge dev 版本,这个版本可以直接使用 对于没有更新的用户而言,不容易找到入口,所以我们直接使用 集成new bing的dev版本 Edge dev 下载链接:https://www.microso…

14- 决策树算法 (有监督学习) (算法)

决策树是属于有监督机器学习的一种决策树算法实操: from sklearn.tree import DecisionTreeClassifier # 决策树算法 model DecisionTreeClassifier(criterionentropy,max_depthd) model.fit(X_train,y_train)1、决策树概述 决策树是属于有监督机器学习的一种,起源…

Python网络爬虫 学习笔记(2)BeaufitulSoup库

文章目录BeautifulSoup库的基本介绍HTML标签的获取和相关属性HTML文档的遍历prettify()方法使用BeautifulSoup库对HTML文件进行内容查找信息的标记的相关概念(非重点)find_all()方法(重点)综合实例:爬取软科2022中国大…

L2-037 包装机

一种自动包装机的结构如图 1 所示。首先机器中有 N 条轨道,放置了一些物品。轨道下面有一个筐。当某条轨道的按钮被按下时,活塞向左推动,将轨道尽头的一件物品推落筐中。当 0 号按钮被按下时,机械手将抓取筐顶部的一件物品&#x…

SegPGD

在这项工作中,我们提出了一种有效和高效的分割攻击方法,称为SegPGD。此外,我们还提供了收敛性分析,表明在相同次数的攻击迭代下,所提出的SegPGD可以创建比PGD更有效的对抗示例。此外,我们建议应用我们的Seg…

【STM32笔记】晶振及旁路电容设计避坑(低速外部晶振LSE无法起振的可能原因)

【STM32笔记】晶振及旁路电容设计避坑(低功耗低速外部晶振LSE无法起振的可能原因) 晶振无法起振 无非就是旁路电容设计的有问题 一般旁路电容选10pF 12pF 20pF等等 都没啥问题 尤其是高速晶振 基本不会出问题 但是对于低速晶振 电容没选对 就很可能不起…

17- 梯度提升回归树GBRT (集成算法) (算法)

梯度提升回归树: 梯度提升回归树是区别于随机森林的另一种集成方法,它的特点在于纠正与加强,通过合并多个决策树来构建一个更为强大的模型。该模型即可以用于分类问题,也可以用于回归问题中。在该模型中,有三个重要参数分别为 n_…

海盗峡湾——NFT 作品集来袭!

陌生人们,通过这个作品集,可以让你沉浸在海盗们的文化和魔法中。这可能是你唯一的机会,用这些资产把你的土地变成海盗王国,所以不要犹豫了! 这个由 Alina Siniakova 制作的系列于 2 月 3 日晚上 11 点在 The Sandbox 市…

倒带ChunJun,同心前行|2022年度回顾2023年共建规划

ChunJun是一个开始于2018年的批流一体数据集成框架项目,原名FlinkX。2022年2月22日,在FlinkX进行初版开源的整整四年后,技术团队决定对FlinkX进行整体升级,并更名为ChunJun,希望为大家真正提供一个稳定、高效、易用的批…

服务器常见的网络攻击以及防御方法

网络安全威胁类别 网络内部的威胁,网络的滥用,没有安全意识的员工,黑客,骇客。 木马攻击原理 C/S 架构,服务器端被植入目标主机,服务器端通过反弹连接和客户端连接。从而客户端对其进行控制。 病毒 一…

蓝桥杯C/C++VIP试题每日一练之报时助手

💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交流社区 🧡博主的个人博客:静Yu的个人博客 🧡博主的个人笔记本:前端面试题 个人笔记本只记录前端领域的面试题目,项目总结,面试技…

Nacos——Nacos简介以及Nacos Server安装

资料来源:02-Nacos配置管理-什么是配置中心_哔哩哔哩_bilibili nacos记得下载2.x版本的,负责以后新建配置的时候会出现“发布错误,请检查参数是否正确”错误!!!! 目录 一、Nacos简介 1.1 四…

【CS224W】(task4)图嵌入表示学习

note node2vec: 计算随机游走概率从节点uuu开始模拟rrr条长度为lll的游走链路使用 Stochastic Gradient Descent 优化损失函数 Node2vec在节点分类方面表现更好;而其他方法在链路预测上效果更好,如random walk效率更高;graph emb…