`
starbhhc
  • 浏览: 654361 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

第四节:将CAS https的认证方式改为http

    博客分类:
  • java
 
阅读更多

一、CAS Server端的修改

1、找到cas\WEB-INF\deployerConfigContext.xml
对以下Bean增加参数p:requireSecure="false",该参数表示是否需要安全验证,即HTTPS,false为不采用,加上去之后如下:
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"   
       p:httpClient-ref="httpClient"  p:requireSecure="false"/>
 
2、找到cas\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml
<beanid="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieSecure="false"
p:cookieMaxAge="-1"
p:cookieName="CASTGC"
p:cookiePath="/cas" />
参数p:cookieSecure="true",同理为HTTPS验证相关,true为采用HTTPS验证,与deployerConfigContext.xml的参数保持一致。
参数p:cookieMaxAge="-1",简单说是COOKIE的最大生命周期,-1为无生命周期,即只在当前打开的IE窗口有效,IE关闭或重新打开其它窗口,仍会要求验证。可以根据需要修改为大于0的数字,比如3600等,意思是在3600秒内,打开任意IE窗口,都不需要验证。
3、找到cas\WEB-INF\spring-configuration\warnCookieGenerator.xml
<beanid="warnCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieSecure="false"
p:cookieMaxAge="-1"
p:cookieName="CASPRIVACY"
p:cookiePath="/cas" />
两个参数与上面同理。应保持一致。
二、修改cas-client客户端的web.xml文件。
把https://localhost:8080/cas  修改为 http://localhost:8080/cas 
 
 
三、(可以忽略不记)如果存在以下文件则修改,没有则不用,CAS Client端的修改
找到客户端使用的casclient.jar文件,借用反编译工具将相应的class文件反编译成java文件再进行下面的修改
1、找到edu.yale.its.tp.cas.client.filter.edu.yale.its.tp.cas.client.filter 
 
Java代码 
if (! casValidate.startsWith("https://")){  
            throw new ServletException("validateUrl must start with https://, its current value is [" + casValidate + "]");  
        }  
if (casServiceUrl != null){  
            if (! (casServiceUrl.startsWith("https://")|| (casServiceUrl.startsWith("http://") ))){  
                throw new ServletException("service URL must start with http:// or https://; its current value is [" + casServiceUrl + "]");  
            }  
        }  
 
把这两段内容注释掉(此目录下涉及修改的类文件有CASFilter.java、CASValidateFilter.java,其实所有的修改就是把与https有关的内容加以注释)
 
2、找到edu.yale.its.tp.cas.util.SecureURL 
 
Java代码 
if (!u.getProtocol().equals("https")){  
                // IOException may not be the best exception we could throw here  
                // since the problem is with the URL argument we were passed, not  
                // IO. -awp9  
                log.error("retrieve(" + url + ") on an illegal URL since protocol was not https.");  
                            throw new IOException("only 'https' URLs are valid for this method");  
            }  
 
把这段内容注释掉
分享到:
评论

相关推荐

    cas-server4.0

    【CAS服务器4.0:构建安全的Web身份验证框架】 CAS(Central Authentication Service)是一种开源的身份验证协议,常用于构建单点登录(Single Sign-On,SSO)系统。CAS服务器4.0是该协议的一个重要版本,提供了...

    cas3.5.0集成oauth2.0协议

    4. **获取访问令牌**:用户授权后,CAS服务器会返回一个访问令牌给客户端,客户端可以使用该令牌向第三方服务请求资源。 5. **资源访问**:持有访问令牌的客户端可以向第三方服务发送请求,第三方服务验证令牌有效...

    java源码:Java单点登录系统 JA-SIG CAS.rar

    5. **CAS认证方式**: CAS支持多种认证方式,如基于用户名/密码的认证、LDAP目录服务认证、SPNEGO(Kerberos)等。开发者可以根据需求选择或扩展认证模块。 6. **CAS扩展性**: 除了基本的SSO功能,CAS还提供了...

    cas 单点登录

    4. **服务票证(Service Ticket):** 验证成功后,CAS服务器生成一个服务票证ST(Service Ticket),并将其发送回用户。 5. **用户提交服务票证:** 用户带着ST返回到最初尝试访问的应用系统。 6. **应用验证服务...

    条件接收系统CAS DVB-CAS

    加密技术是CAS系统中不可或缺的一部分,它通过数学方法将明文转换为密文,以保护数据的机密性和完整性。常用的加密算法包括: - **对称加密**:加密和解密使用相同的密钥。 - **非对称加密**:使用一对公钥和私钥...

    用cas实现mantis单点登录和登出

    本文将详细介绍如何利用 CAS(Central Authentication Service)协议来实现 Mantis 的单点登录和登出功能。 #### 实现步骤 ##### 第一步:环境准备 1. **安装 CAS 服务器**:确保 CAS 服务器已经部署完成,并且...

    cas单点登录实例

    2. **CAS认证:** CAS服务器对用户进行身份验证,如果用户未登录,会显示登录页面,用户输入凭证后,CAS服务器进行验证。 3. **生成Ticket:** 验证成功后,CAS服务器生成一个服务票证(Service Ticket),并将用户...

    cas-server-3.3.3-release.zip

    CAS服务器作为认证中心,为各个客户端应用提供认证服务,使得用户在访问不同系统时只需登录一次,极大地提高了用户体验。 二、CAS 3.3.3版本特性 1. 安全性提升:CAS 3.3.3版本在安全性方面进行了优化,包括加强了...

    SSO之CAS单点登录实例演示

    3. **CAS认证流程**: - **预认证阶段**:用户尝试访问受保护的应用,被重定向到CAS Server的登录页面。 - **登录验证**:用户提交用户名和密码,CAS Server验证凭证。 - **服务Ticket**:如果验证成功,CAS ...

    cas-server-4.0.0-release与依赖包.zip

    2. **部署CAS**:将CAS的WAR文件部署到Servlet容器中,通常是将其拷贝到容器的webapps目录下。 3. **配置CAS**:修改配置文件以适应你的环境,例如设置数据库连接、服务URL等。 4. **启动CAS**:启动Servlet容器,...

    CAS3.5单点登录修改后jar包下载

    CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(Single Sign-On,简称SSO)协议,它为各种应用程序提供了一种集中式的身份验证服务。CAS 3.5 版本是其历史上的一个重要版本,它为...

    CAS-server -3.4myeclipse工程直接运行源代码

    CAS(Central Authentication ...总的来说," CAS-server -3.4 myeclipse工程直接运行源代码 "为开发者提供了一个很好的实践平台,通过直接运行和修改源代码,可以更深入地学习和掌握CAS服务器的实现细节和SSO的原理。

    lifery6.1+cas初始化环境搭建及门户解决方案

    启动Cas认证服务器通常只需运行Tomcat的`startup.sh`或`startup.bat`脚本。 **2.4.6 配置cas数据库验证** 为了支持更多用户和更复杂的身份验证场景,可以配置CAS使用数据库进行用户验证。这涉及到数据库连接配置、...

    CAS4.1.4服务端和客户端实例

    4. 配置客户端应用,将CAS认证集成到你的应用中,这通常涉及添加和配置CAS过滤器,以及设置服务URL。 5. 测试SSO功能,确保用户能够通过CAS服务器进行一次性登录,并在不同应用间无缝切换。 通过这个实例,你可以...

    转载CAS_SSO单点登录实例详细步骤

    4. **Ticket验证**:CAS服务器验证用户后,返回一个票据(Ticket),应用系统收到Ticket后,会向CAS服务器验证Ticket的合法性,确认用户已授权。 ### CAS_SSO工作原理 - 用户首次尝试访问受CAS保护的应用系统时,...

    CAS Server 4.1二次开发说明文档.docx

    3. **认证成功后的处理**:用户通过登录验证后,CAS Server会生成Ticket Granting Ticket (TGT) 和随机的Service Ticket (ST),并将ST作为参数附带回用户的原始请求,同时在用户的浏览器中设置一个包含TGT的Cookie。...

    cas-client-3.3.3-release和cas-server-4.2.1-release下载

    4.2.1是这个版本的编号,表明它是CAS的第4个主要版本,第2个次要版本和第1个修正版本。服务器端通常包含以下内容: - `cas-server-webapp`: CAS的Web应用程序,基于Spring Webflow构建,处理用户的登录、验证和其他...

    单点登录sso-shiro-cas-maven

    1.首先采用的是查数据库的方式来校验用户身份的,在cas/WEB-INF/deployerConfigContext.xml中第135行构建了这个类型 ``` xml &lt;!-- 设置密码的加密方式,这里使用的是MD5加密 --&gt; class="org.jasig.cas....

    cas-server-3.5.0-release

    【描述】中的“cas-source-code”表明这个压缩包包含了CAS服务的源码,这为开发者提供了深入理解CAS工作原理和进行自定义开发的机会。"cas-server-webapp-3.5.0.war"是一个Web应用程序档案(WAR),它是Java Web应用...

    CAS单点登录(SSO)教程

    - 将`cas-server-webapp-3.5.2.war`文件解压并重命名为`cas`,然后放置到Tomcat的`webapps`目录下。 - 访问 `https://sso.wsria.com:8443/cas/login` 进行测试登录。 ##### 7. 深入配置CAS服务器 在实际应用中,CAS...

Global site tag (gtag.js) - Google Analytics