一、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服务器4.0:构建安全的Web身份验证框架】 CAS(Central Authentication Service)是一种开源的身份验证协议,常用于构建单点登录(Single Sign-On,SSO)系统。CAS服务器4.0是该协议的一个重要版本,提供了...
- 用户只能通过8000端口访问整个系统,一旦系统部署完成并投入生产环境后,可以将8000端口改为80端口,以简化网络配置。 - 确保所有组件之间网络畅通无阻,并且安全策略符合实际需求。 #### 四、总结 本系统的搭建...
4. **获取访问令牌**:用户授权后,CAS服务器会返回一个访问令牌给客户端,客户端可以使用该令牌向第三方服务请求资源。 5. **资源访问**:持有访问令牌的客户端可以向第三方服务发送请求,第三方服务验证令牌有效...
2. **部署CAS**:将CAS的WAR文件部署到Servlet容器中,通常是将其拷贝到容器的webapps目录下。 3. **配置CAS**:修改配置文件以适应你的环境,例如设置数据库连接、服务URL等。 4. **启动CAS**:启动Servlet容器,...
5. **CAS认证方式**: CAS支持多种认证方式,如基于用户名/密码的认证、LDAP目录服务认证、SPNEGO(Kerberos)等。开发者可以根据需求选择或扩展认证模块。 6. **CAS扩展性**: 除了基本的SSO功能,CAS还提供了...
4. **服务票证(Service Ticket):** 验证成功后,CAS服务器生成一个服务票证ST(Service Ticket),并将其发送回用户。 5. **用户提交服务票证:** 用户带着ST返回到最初尝试访问的应用系统。 6. **应用验证服务...
加密技术是CAS系统中不可或缺的一部分,它通过数学方法将明文转换为密文,以保护数据的机密性和完整性。常用的加密算法包括: - **对称加密**:加密和解密使用相同的密钥。 - **非对称加密**:使用一对公钥和私钥...
本文将详细介绍如何利用 CAS(Central Authentication Service)协议来实现 Mantis 的单点登录和登出功能。 #### 实现步骤 ##### 第一步:环境准备 1. **安装 CAS 服务器**:确保 CAS 服务器已经部署完成,并且...
2. **CAS认证:** CAS服务器对用户进行身份验证,如果用户未登录,会显示登录页面,用户输入凭证后,CAS服务器进行验证。 3. **生成Ticket:** 验证成功后,CAS服务器生成一个服务票证(Service Ticket),并将用户...
CAS服务器作为认证中心,为各个客户端应用提供认证服务,使得用户在访问不同系统时只需登录一次,极大地提高了用户体验。 二、CAS 3.3.3版本特性 1. 安全性提升:CAS 3.3.3版本在安全性方面进行了优化,包括加强了...
3. **CAS认证流程**: - **预认证阶段**:用户尝试访问受保护的应用,被重定向到CAS Server的登录页面。 - **登录验证**:用户提交用户名和密码,CAS Server验证凭证。 - **服务Ticket**:如果验证成功,CAS ...
CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(Single Sign-On,简称SSO)协议,它为各种应用程序提供了一种集中式的身份验证服务。CAS 3.5 版本是其历史上的一个重要版本,它为...
CAS(Central Authentication ...总的来说," CAS-server -3.4 myeclipse工程直接运行源代码 "为开发者提供了一个很好的实践平台,通过直接运行和修改源代码,可以更深入地学习和掌握CAS服务器的实现细节和SSO的原理。
启动Cas认证服务器通常只需运行Tomcat的`startup.sh`或`startup.bat`脚本。 **2.4.6 配置cas数据库验证** 为了支持更多用户和更复杂的身份验证场景,可以配置CAS使用数据库进行用户验证。这涉及到数据库连接配置、...
4. 配置客户端应用,将CAS认证集成到你的应用中,这通常涉及添加和配置CAS过滤器,以及设置服务URL。 5. 测试SSO功能,确保用户能够通过CAS服务器进行一次性登录,并在不同应用间无缝切换。 通过这个实例,你可以...
4. **Ticket验证**:CAS服务器验证用户后,返回一个票据(Ticket),应用系统收到Ticket后,会向CAS服务器验证Ticket的合法性,确认用户已授权。 ### CAS_SSO工作原理 - 用户首次尝试访问受CAS保护的应用系统时,...
3. **认证成功后的处理**:用户通过登录验证后,CAS Server会生成Ticket Granting Ticket (TGT) 和随机的Service Ticket (ST),并将ST作为参数附带回用户的原始请求,同时在用户的浏览器中设置一个包含TGT的Cookie。...
4.2.1是这个版本的编号,表明它是CAS的第4个主要版本,第2个次要版本和第1个修正版本。服务器端通常包含以下内容: - `cas-server-webapp`: CAS的Web应用程序,基于Spring Webflow构建,处理用户的登录、验证和其他...
1.首先采用的是查数据库的方式来校验用户身份的,在cas/WEB-INF/deployerConfigContext.xml中第135行构建了这个类型 ``` xml <!-- 设置密码的加密方式,这里使用的是MD5加密 --> class="org.jasig.cas....
【描述】中的“cas-source-code”表明这个压缩包包含了CAS服务的源码,这为开发者提供了深入理解CAS工作原理和进行自定义开发的机会。"cas-server-webapp-3.5.0.war"是一个Web应用程序档案(WAR),它是Java Web应用...