`

CAS单点登录连接超时解决办法及原因分析

阅读更多

在部署CAS单点登录到生产环境后,由于互联网网速问题影响,默认设置下偶尔会看到java.net.ConnectException:   Connection   timed   out这样的连接超时异常信息,造成无法完成登录问题,我们可以通过增加超时时间来解决这个问题。

 

另外timeout还有可能是网络无法连接造成的结果,可能会遇到DNS配置不正确造成不能通过HttpURLConnection连接CAS Server,同样会有可能造成以上无法登录的结果、同样的异常信息,我们可以试用nslookup命令测试一下网络环境或者其他调试方法测试。

 

 

环境说明:

       JVM SUN JDK 1.5

CAS Server JA-SIG CAS Server 3.2.1

JA-SIG CAS Client for Java 3.1.1

 

设置超时时间(两种方式,任选一种)

1.       JAVA应用程序启动时设置

//设置连接主机的超时时间 ms   

System.setProperty("sun.net.client.defaultConnectTimeout", "300000");   

//设置从主机读取数据的超时时间   

System.setProperty("sun.net.client.defaultReadTimeout", "300000");  

2. JAVA_OPTS环境变量里设置

  -Dsun.net.client.defaultConnectTimeout=300000

  -Dsun.net.client.defaultReadTimeout=300000

 

另外,如果CAS Server与客户端应用没有部置在一个WEB服务器下,我们还可以通过CAS Server里的WEB-INF\spring-configuration\applicationContext.xml文件设置超时时间,默认超时设置如下:

<bean id="httpClient" class="org.jasig.cas.util.HttpClient"

       p:readTimeout="5000"

       p:connectionTimeout="5000" />

我们把超时间设长点即可。

 

别忘了重启WEB服务器 

 

原因:

          

CAS单点登录原理图

 

图中元素

指代与解释

CAS

CAS ServerCAS服务器

Web resource

CAS Client绑定的应用系统,如论坛系统,我们可以简称其为客户端或客户端应用

Web browser

我们常用的浏览器,如IEFireFox

S

Service,即请求的服务,在此我们可以说成请求的URL

T

Ticket,即票据,客户端向CAS服务器取当前登录用户身份的凭证

C

Cookie,可以保存在浏览器中的cookie

 

 

流程解释:

当用户在浏览器中访问web应用的某个受保护的服务[S],用户的请求将被web应用重定向到CAS服务器,CAS服务器提供响应让用户登录,用户提交用户名与密码,CAS服务器收到请求处理验证,通过验证则在浏览器中重定向到原来的web应用的服务[S]同时在浏览器中生成cookie并带有一个[T]票据查询参数给[S](否则提示错误要求继续输入),web应用再次收到原来的[S]请求,此时web应用会收到一个[T]票据,web应用集成的CAS Client通过socket连接传输[S][T]参数到CAS服务器,CAS服务器通过[T]找到对应用的用户身份标识返回给web应用,web应用收到xml形式的用户身份标识,web应用集成的CAS Client解释出有用户身份标识,就通过了认证,整个认证流程结束。

 

见上图中红色框的连接,客户端应用发送STCAS 取登录的用户标识(用户名)时,是通过JAVA代码用HttpURLConnection直接发送请求与接收CAS的响应信息,我们前面提到的超时也就是此处相关代码抛出的异常

  • 大小: 17.1 KB
4
0
分享到:
评论
1 楼 jelver 2008-12-14  
不错,最近也在整cas

相关推荐

    cas单点登录官方demo

    在这个"cas单点登录官方demo"中,我们可以深入理解CAS的工作原理和实现方法。 首先,单点登录的核心概念是“一次登录,全局通行”。用户在进入系统时只需要验证一次身份,之后在访问其他关联应用时,系统会自动识别...

    CAS单点登录之测试应用

    标题中的"CAS单点登录"是指Central Authentication Service(中央认证服务),它是一种广泛使用的开源单点登录(Single Sign-On, SSO)系统。SSO允许用户通过一次登录就能访问多个应用系统,而无需反复输入用户名和...

    CAS单点登录

    总的来说,CAS单点登录为Java开发者提供了一个强大且灵活的工具,简化了多应用系统的身份验证流程,提高了安全性,同时也提升了用户体验。理解和掌握CAS的原理和实践,对于构建高效、安全的企业级应用系统至关重要。

    CAS单点登录的配置

    总结,CAS单点登录配置涉及服务器安装、客户端集成、认证流程设计以及安全措施。正确配置CAS能提高用户体验,同时确保系统安全性。在实践中,需结合具体业务需求,灵活调整和优化配置,确保SSO功能的稳定性和高效性...

    【转载】CAS实现单点登录(SSO)经典完整教程

    CAS(Central Authentication Service)是一种广泛使用的开放源码的单点登录(Single Sign-On,简称SSO)框架,它为各种应用程序提供了统一的认证服务。在本文中,我们将深入探讨如何利用CAS实现单点登录功能,这将...

    CAS单点登录学习笔记五之CAS服务器数据源

    CAS(Central Authentication Service)是Java开发的一个开源的单点登录(Single Sign-On,简称SSO)系统,广泛应用于各类Web应用程序的身份验证。本篇学习笔记主要聚焦于CAS服务器的数据源配置,这对于理解CAS如何...

    单点登录CAS应用代码(HTTPS)

    单点登录(Single Sign-On, SSO)是一种网络身份验证机制,它允许用户在一个系统上登录后,无需重新认证即可访问多个相互信任的应用系统。CAS(Central Authentication Service)是Java开发的一个开源项目,专为Web...

    CAS单点登录(SSO)完整教程

    CAS(Central Authentication Service)单点登录(SSO)是一种网络身份验证协议,它允许用户在一次登录后访问多个应用系统,而无需再次进行身份验证。本教程将详细讲解CAS SSO的实现过程,涵盖相关的核心概念、配置...

    cas-server-4.0.0-release单点登录源码和war包-原版

    CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(Single Sign-On,简称SSO)系统。它允许用户通过一个认证界面访问多个应用系统,而无需在每个系统上分别进行登录。在这个"cas-server-...

    cas 和spring security 单点登录 配置

    单点登录(Single Sign-On,简称SSO)是一种在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的技术。在企业级应用中,SSO能够提供更好的用户体验,减少用户频繁登录不同系统的麻烦。在Java...

    单点登录实例(含连接数据库效验)

    单点登录(Single Sign-On,简称SSO)是一种网络身份验证机制,允许用户在一个系统上登录后,无需再次输入凭证即可访问多个相互关联...通过深入理解和实践这些知识点,我们可以构建一个高效、安全的单点登录解决方案。

    单点登录源码

    单点登录(Single Sign-On,简称SSO)是一种身份验证机制,它允许用户在一个系统上登录后,无需再次输入凭证即可访问多个相互关联的系统。SSO的核心思想是通过一个中心认证服务(Central Authentication Service,...

    基于Java的单点登录系统 JA-SIG CAS.zip

    总之,基于Java的JA-SIG CAS是一个强大且灵活的单点登录解决方案,它为开发者提供了在多个应用之间实现统一身份验证的便捷途径。通过理解其工作原理和实施步骤,可以有效地提升企业或组织的网络安全性和用户体验。

    myeclipse、tomcat集成CAS

    6. **扩展和优化**:CAS支持多种定制化选项,如自定义登录界面、单点登出、票证超时策略等。你可以根据实际需求对配置进行调整,以实现更安全和个性化的SSO体验。 在“tomcat集成CAS.doc”文档中,应该详细介绍了在...

    CAS SERVER 3.3.5

    **CAS Server 3.3.5 - 单点登录详解*...总的来说,CAS Server 3.3.5作为一个强大的身份验证解决方案,为企业级应用提供了高效、安全的单点登录功能。理解并掌握其工作原理和配置方法,对于构建健壮的网络环境至关重要。

    自定义客户端登录CAS服务器-iframe实现

    CAS是一种开放源码的单点登录(Single Sign-On,SSO)系统,旨在为多应用环境提供统一的登录验证机制。通过在客户端应用中嵌入iframe,可以实现用户在不离开当前页面的情况下,与CAS服务器进行交互,完成身份验证。 ...

    单点登录+在线列表+防浏览器关闭

    单点登录(Single Sign-On,简称SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在大型网络环境中,SSO能够简化用户的登录过程,提高用户体验,同时也有助于企业...

    cas sso server page

    总结来说,CAS SSO服务器是实现单点登录的关键组件,它简化了多应用系统的身份验证流程,提升了安全性。理解并掌握CAS的工作原理和配置,能帮助我们有效地管理和维护SSO环境,为用户提供便捷且安全的访问体验。

Global site tag (gtag.js) - Google Analytics