最近,在做CAS单点登陆的一个模块,由于公司的产品太多,各个系统都要部署,在开发中Https的证书的部署比较麻烦,所以,打算把CAS的Https去掉。具体的修改如下
1.修改cas-servlet.xml
Java代码
<bean id="warnCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieSecure="true"
p:cookieMaxAge="-1"
p:cookieName="CASPRIVACY"
p:cookiePath="/cas" />
<bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieSecure="true "
p:cookieMaxAge="-1"
p:cookieName="CASTGC"
p:cookiePath="/cas" />
<bean id="warnCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieSecure="true"
p:cookieMaxAge="-1"
p:cookieName="CASPRIVACY"
p:cookiePath="/cas" />
<bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieSecure="true "
p:cookieMaxAge="-1"
p:cookieName="CASTGC"
p:cookiePath="/cas" />
把上面连个bean中的p:cookieSecure="true "修改为p:cookieSecure="false"
2.修改deployerConfigContext.xml
Java代码
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient" />
<bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
p:httpClient-ref="httpClient" />
添加p:requireSecure="false"
3.修改casclient的客户端
修改客户端的https验证
(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 + "]");
}
}
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 + "]");
}
}
把这两段内容注释掉
(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");
}
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");
}
把这段内容注释掉
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/DesignLife/archive/2008/09/21/2956814.aspx
分享到:
相关推荐
CAS(Central Authentication Service)是Java开发的一个开源的单点登录...通过学习和实践,你可以掌握CAS的核心概念,实现自定义认证策略,以及优化客户端集成,从而为你的项目构建一个强大而安全的单点登录系统。
在本文中,我们将探讨如何在普通方式和Spring Boot方式下配置和使用CAS客户端和服务端。 首先,让我们了解一下`CMD生成证书命令.txt`。在CAS部署中,安全通信通常依赖于SSL/TLS证书,用于加密传输数据。这个文件...
描述中提到的"cas认证服务器,解压完以后放在tomcat既可以启动服务器",意味着CAS服务器被设计为一个可部署在Tomcat这样的Java应用服务器上的Web应用程序。用户只需要下载CAS的war文件,解压缩到Tomcat的webapps目录...
你需要将`class`属性设置为支持MD5的编码器,例如`org.jasig.cas.authentication.handler.support.SimpleHashPasswordEncoder`。然后,你可以配置`algorithmName`属性为`MD5`,以及可能的盐值`salt`。 3. **测试...
4. **CAS客户端集成**:了解如何将应用系统配置为CAS客户端,包括配置服务URL、解析和验证票证、处理重定向等。 5. **CAS协议**:深入理解CAS协议的各个版本,如CAS 1.0、CAS 2.0、CAS 3.0和CAS 4.0+,以及它们之间...
- **配置服务器**:在CAS服务器上配置SSL/TLS,启用443端口,并将HTTP重定向到HTTPS。 - **更新应用配置**:确保所有依赖CAS的应用都指向HTTPS版本的CAS服务器。 - **测试与监控**:全面测试HTTPS的可用性和安全...
- **Service Ticket**:在用户成功认证后,CAS服务器会为请求的服务生成一个Service Ticket,并将其发送给客户端。客户端随后会将这个票证和请求一起发送给服务提供商,以验证用户身份。 - **Proxy Ticket**:允许...
本DEMO1将详细介绍如何利用Java开发环境IntelliJ IDEA,通过CAS认证来调用Manager的REST接口进行操作。 一、项目结构与依赖 项目的核心在于能够通过Java代码调用Manager的REST接口,因此,项目结构分为以下几个部分...
CAS(Central Authentication Service)是广泛应用的SSO协议之一,它提供了一个中心化的认证服务器,处理用户的身份验证请求并为各个服务提供票证(ticket),以便用户可以无感知地访问受保护的应用。 在"单点登录 ...
CAS(Central Authentication Service)是一种广泛使用的开放源代码单点登录(Single Sign-On,SSO)框架,它允许用户通过一个中央认证服务访问多个应用系统,而无需为每个系统单独进行登录。在实际的企业环境中,...
在使用CAS统一认证服务的过程中,由于Web应用工程中`web.xml`配置的CAS地址是固定的,而非动态地址,这就导致了当将Web应用服务器如Tomcat的端口映射到外网后,虽然可以通过外网访问应用,但在尝试登录时,应用会...
参考博主的博客《用CAS实现SSO(单点登录)+数据库读取》将为你提供更具体的步骤和指导,帮助你理解如何将这些组件整合起来,实现数据库驱动的CAS服务器SSO功能。这个过程可能涉及到一些安全注意事项,例如凭证存储...
这个是cas的所有流程: ...2.将cas从https请求改为http请求 3.cas的认证方式:数据库认证+自定义认证方式(想怎么验证都可以) 4.自定义登录页面。 这可是精华,花费了我一个多星期时间整理出来的技术文档(简单明了)
4. **服务票证(Service Ticket)**:用户成功登录后,CAS服务器会为每个请求访问的应用生成一个Service Ticket,并将用户重定向回原始应用,同时附带这个票证。应用会验证这个票证并与CAS服务器通信确认用户身份。 ...
除了配置`Web.xml`之外,还需要将CAS6.0认证服务器的配置文件复制到应用系统的相应目录下。这些配置文件通常包含认证服务器的基本信息,如服务器地址、端口等。 ### 三、总结 CAS6.0认证服务器提供了丰富的接口...
总结,CAS4.0单点登录系统以其强大的认证功能和良好的可扩展性,为Web应用提供了安全、高效的用户身份验证解决方案。结合Spring Web Flow,能够构建出更符合用户需求的认证流程,极大地提高了系统的易用性和安全性。...
在企业环境中,尤其是在已部署了Active Directory(AD)域服务的情况下,将CAS与AD集成可以实现用户通过一次认证就能访问所有系统,提升用户体验并加强安全性。 AD域是微软Windows Server操作系统中的一个组件,它...
cas-server-webapp-4.0.0.war--cas server去掉https验证.下载后直接部署tomcat即可,建议下载后将名称改为cas.war