`
sweader
  • 浏览: 23292 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

CAS https方式改简单http方式

阅读更多

一、CAS客户端HTTPSHTTP方式

1.修改所有使用到casclient.jar的项目中该jar包内edu.yale.its.tp.cas.util.SecureURL.class文件(需要进行反编译成java类文件“SecureURL.java),将下边代码中对https访问方式的验证代码注释掉(绿色部分)。

    public static String retrieve(String url) throws IOException {

       if (log.isTraceEnabled())

           log.trace("entering retrieve(" + url + ")");

       BufferedReader r = null;

       String s;

       try {

           URL u = new URL(url);

           /*if (!u.getProtocol().equals("https")) {

              log.error("retrieve(" + url

                     + ") on an illegal URL since protocol was not https.");

              throw new IOException(

                     "only 'https' URLs are valid for this method");

           }*/

           URLConnection uc = u.openConnection();

           uc.setRequestProperty("Connection", "close");

           r = new BufferedReader(new InputStreamReader(uc.getInputStream()));

           StringBuffer buf = new StringBuffer();

           String line;

           while ((line = r.readLine()) != null)

              buf.append(line + "\n");

           s = buf.toString();

       } finally {

           try {

              if (r != null)

                  r.close();

           } catch (IOException ex) {

           }

       }

       return s;

    }

2.修改页面上的https开头的连接,改为http

 修改login.jsp页面内容

 

 

 

修改前:

 

<cas:auth var="netid" scope="session">

<cas:loginUrl>https://passport.com/login</cas:loginUrl>

<cas:validateUrl>https://passport.com/proxyValidate</cas:validateUrl>

</cas:auth>

修改后:

<cas:auth var="netid" scope="session">

<cas:loginUrl>http://passport.com:8080/login</cas:loginUrl>

<cas:validateUrl>http://passport.com:8080/proxyValidate</cas:validateUrl>

</cas:auth>

 修改logout.jsp页面内容

修改前:

<cas:logout

 var="netid"

scope="session" logoutUrl="https://passport.com/logout"/>

修改后:

<cas:logout

 var="netid"

 scope="session" logoutUrl="http://passport.com/logout"/>

分享到:
评论
4 楼 sillycat 2009-08-21  
我使用的是CAS的3.3.1版本,按照如下配置就可以了:

参考网上的做法,不使用SSL来传送TGC,这样就不用在WEB服务器上配置SSL,同时用户在访问时IE也不会跳出要安装证书的提示了。这样针对安全需求没有那么高的场景其实是带来很多方便的。
CAS不用SSL(既用http协议,不用https)不能实现跨域的原因是CAS的TGC(TicketGrantingCookie)生成时设置了安全属性为只能被https协议访问,http协议访问不到。
配置文件cas\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml,这是在3.3版本中,
原有配置如下:
<bean id="ticketGrantingTicketCookieGenerator" class="org.springframework.web.util.CookieGenerator">
<property name="cookieSecure" value="true " />
<property name="cookieMaxAge" value="-1" />
<property name="cookieName" value="CASTGC" />
<property name="cookiePath" value="/cas" />
</bean>
不同版本可能配置的方式不同,不过这个cookieSecure就是是否采用SSL来传递TGC,所以这里改成false就可以了。
SSL可以对通信的内容进行加密,防止通信内容被截取后泄露用户帐户信息。这在安全及级别较高的地方还是需要使用的。
3 楼 lean1252 2009-08-05  
不太明白楼主第二个步聚,请问楼主的cas版本是多少,我的是3.3.3,我下面没有login.jsp页面,而是casLoginView.jsp,页面里也没有"<cas:auth"这样的标签啊
2 楼 ruderal 2009-04-23  
这个好像是2.X的版本,是纯Servlet来写的..
当初我为了省个证书钱也是这么干的哈..不过会削弱安全性哦!
1 楼 grandboy 2009-04-22  
我感觉CAS应该有这个设置吧,怎么这么简单的一个小需求都要改代码实现呢?

相关推荐

    cas改改可以用了

    "cas改改可以用了" 这个标题意味着已经对原始的CAS系统进行了一些定制或优化,使得它更适合特定的使用场景,可以直接部署和使用。 描述中的"可以直接用的cas"表明这个压缩包包含了一个预配置好的CAS服务器实例,...

    cas-client-2.0.11.zip_cas client_cas-clie_cas-client-2._java CAS

    1. **CAS协议**:CAS是一种基于HTTP协议的身份验证协议,主要目的是提供一种简单且安全的方式来验证用户身份,而无需在每个应用程序中单独存储和管理用户的凭证。它通过传递一个服务票证(Service Ticket)来实现...

    简单配置基于CAS的单点登录

    标题中的“简单配置基于CAS的单点登录”指的是在IT领域中实现的一种身份验证方法,称为Central Authentication Service(中央认证服务)的单点登录(Single Sign-On, SSO)。CAS是一种开源项目,它允许用户通过单一...

    cas单点登录的专业秘籍

    这个是cas的所有流程: ...2.将cas从https请求改为http请求 3.cas的认证方式:数据库认证+自定义认证方式(想怎么验证都可以) 4.自定义登录页面。 这可是精华,花费了我一个多星期时间整理出来的技术文档(简单明了)

    spring boot整合CAS Client实现单点登陆验证的示例

    在 CAS Client 中,我们还可以配置多种认证方式,例如 CAS、CAS3、SAML 等。这些认证方式都可以通过 cas.validation-type 属性来配置。例如,我们可以使用 CAS 认证: ```properties cas.validation-type=CAS ``` ...

    cas-overlay-template-5.3.zip,可以集成springboot,亲测可用。

    CAS(Central Authentication Service)是一种广泛使用的开源身份验证和授权框架,它允许用户通过单一登录(Single Sign-On,SSO)访问多个应用系统。在提供的压缩包`cas-overlay-template-5.3.zip`中,我们找到了...

    idea 中导入cas

    在IT行业中,Cas(Central Authentication Service)是一种广泛使用的开源身份验证和授权框架,它使得单点登录(Single Sign-On, SSO)变得简单。本文将详细介绍如何在IntelliJ IDEA(简称Idea)中导入和编译CAS项目...

    CAS示例环境部署及配置

    - 修改 CAS 节点名称:在 ${CAS}/WEB-INF/cas.properties 中设置 `host.name`,例如改为 cas01。 - 为消除非安全连接警告:如果未启用 HTTPS,需要修改登录页面源码。 【CAS Client 配置】 1. **客户端应用部署**...

    关于cas安装和配置

    CAS Client 需要在每个需要集成 CAS 的应用系统中进行配置,以下是一个简单的示例: 1. **部署 CAS Client 应用**:将测试应用 casClient2 部署到 Tomcat 的 webapps 目录下,并将 cas-client-core-3.2.1.jar 添加...

    cas client

    这个Web工程提供了一个简单且完整的CAS客户端实现,旨在帮助开发者快速搭建和部署一个可以与CAS服务器协同工作的应用。 在SSO系统中,用户只需要登录一次就能访问多个相互信任的应用系统,而无需为每个系统单独进行...

    cas-client扩展拦截器支持excludes

    这通常是为了在使用CAS进行统一认证时,允许某些特定的URL不受拦截器的控制,以便它们可以直接访问或者有别于其他请求的处理方式。 CAS是一个开放源码的单点登录(Single Sign-On, SSO)系统,广泛应用于Web应用的...

    CAS4.0单点登录

    CAS(Central Authentication Service)是耶鲁大学开发的一个开源项目,主要功能是实现用户的身份验证,为Web应用系统提供单一登录(Single Sign-On, SSO)服务。CAS4.0是CAS的一个版本,它提供了更安全、更灵活的...

    cas5.3.zip

    CAS作为SSO解决方案,提供了一种集中式的认证方式,可以轻松地与各种应用系统集成。 3. **数据库连接**:在描述中提到,已配置了数据库连接。这意味着CAS 5.3可以与数据库进行交互,存储和验证用户的凭证。通常,...

    cas-3.5.2-release

    5. **认证机制**:CAS支持多种认证方式,包括基于用户名/密码的简单认证、LDAP认证、Active Directory认证、RADIUS认证等。开发者可以根据需求选择合适的认证模块,并可能需要自定义认证处理器。 6. **服务管理**:...

    cas有无证书单点登录

    - 修改`cas/WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml`文件,将`p:cookieSecure="true"`改为`p:cookieSecure="false"`,以便允许HTTP访问。 - 对于警告Cookie,同样在`cas\WEB-INF\...

    cas3.5.0集成oauth2.0协议

    2. **客户端应用代码**:提供了一个简单的客户端应用示例,展示了如何与CAS服务器交互,获取和使用OAuth2.0令牌。 3. **测试用例**:可能包含了一些自动化测试脚本,用来验证OAuth2.0集成是否正常工作。 4. **文档...

    cas与springboot集成

    Spring Boot提供了`spring-security-cas`模块,使得配置变得相对简单。通过添加依赖、配置安全拦截器以及定义服务URL,我们可以使Spring Boot应用成为CAS客户端。 3. **自定义认证实现**: "自定义认证之重写...

    CAS 搭建demo

    1. **客户端应用**:创建一个简单的Java Web应用,或者使用已有的应用,该应用需要与CAS服务器进行集成。 2. **添加CAS客户端库**:在你的应用中引入CAS客户端库,如Spring Security CAS。这可以通过Maven或Gradle...

    CAS下ABA问题及优化方案

    ABA问题的出现原因是CAS乐观锁机制中,只简单地进行了“值”的校验,而没有确保的是原来的数据。例如,在库存扣减业务中,用户1和用户2同时执行库存扣减操作,CAS乐观锁机制检查通过后,执行修改操作,但是在执行...

Global site tag (gtag.js) - Google Analytics