`
lvyanglin
  • 浏览: 86470 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

修改cas协议 https协议 改成http

    博客分类:
  • java
阅读更多
写道
凉鞋与拖鞋的约会
edu.yale.its.tp.cas.util.SecureURL的 public static String retrieve(String url) throws IOException 类地换成
    public static String retrieve(String url) throws IOException {
        BufferedReader r = null;

        try {
        URL u = new URL(url);
        URLConnection uc = u.openConnection();
        uc.setRequestProperty("Connection", "close");
        r = new BufferedReader(new InputStreamReader(uc.getInputStream()));
        String line;
        StringBuffer buf = new StringBuffer();
        while ((line = r.readLine()) != null)
        buf.append(line + "\n");
        return buf.toString();
        } finally {
        try {
        if (r != null)
        r.close();
        } catch (IOException ex) {
        // ignore
        }
        }
        }


edu.yale.its.tp.cas.client.Uitil类
的public static String getService(HttpServletRequest request, String server)
      throws ServletException
修改为


  public static String getService(HttpServletRequest request, String server)
      throws ServletException {
    if (log.isTraceEnabled()){
    log.trace("entering getService(" + request + ", " + server + ")");
    }
     
    // ensure we have a server name
    if (server == null) {
    log.error("getService() argument \"server\" was illegally null.");
throw new IllegalArgumentException("name of server is required");
    }


    // now, construct our best guess at the string
    StringBuffer sb = new StringBuffer();
    if (request.isSecure())
      sb.append("https://");
    else
      sb.append("http://");
    sb.append(server);
    sb.append(request.getRequestURI());

    if (request.getQueryString() != null&&!"".equals(request.getQueryString())) {
      // first, see whether we've got a 'ticket' at all
      int ticketLoc = request.getQueryString().indexOf("ticket=");

      // if ticketLoc == 0, then it's the only parameter and we ignore
      // the whole query string

      // if no ticket is present, we use the query string wholesale
      if (ticketLoc == -1)
        sb.append("?" + request.getQueryString());
      else if (ticketLoc > 0) {
ticketLoc = request.getQueryString().indexOf("&ticket=");
if (ticketLoc == -1) {
  // there was a 'ticket=' unrelated to a parameter named 'ticket'
  sb.append("?" + request.getQueryString());
} else if (ticketLoc > 0) {
  // otherwise, we use the query string up to "&ticket="
          sb.append("?" + request.getQueryString().substring(0, ticketLoc));
}
      }
    }
    String encodedService = URLEncoder.encode(sb.toString());
    if (log.isTraceEnabled()){
    log.trace("returning from getService() with encoded service [" + encodedService + "]");
    }
    return encodedService;
  }

[url=http://tms.taoke.alimama.com/tms/topic.php?pid=mm_11452884_0_0&eventid=100806" target="_blank"]凉鞋与拖鞋的约会[/url]



分享到:
评论

相关推荐

    CAS 协议 票据、url介绍,包括cas1.0和cas2.0

    CAS 协议 票据、url 介绍,包括 cas1.0 和 cas2.0 CAS 协议是一个基于 HTTP 的协议,分为两部分:票据(Ticket)和 URL。CAS 协议的主要目的是提供单点登录(SSO)功能,实现用户的身份验证和授权。 票据(Ticket...

    CAS 取消Https协议 附

    当我们提到“取消HTTPS协议”时,这通常涉及到在CAS服务器配置中移除或禁用HTTPS,以便在非加密的HTTP协议下运行。这可能是出于测试、开发环境的需求,或者在某些特殊情况下,如网络限制或性能优化考虑。 【描述】...

    cas 单点登录修改https为http

    cas 单点登录 修改https访问协议为http

    CAS 协议3.0

    CAS(Central Authentication Service)协议3.0是一个用于网络身份认证的开源协议,其设计目的是为了实现单点登录环境。在这一协议中,用户只需要进行一次身份验证,便可以获得对多个应用系统的访问权限。这种方式...

    CAS协议分析

    CAS协议分析

    cas源码修改-登录页面

    在“cas源码修改-登录页面”这个主题中,我们将深入探讨如何定制CAS服务器的登录界面以满足特定需求。 首先,CAS的登录页面通常位于`/login`路径下,这是由CAS服务器的核心组件处理的。在源码中,这部分主要涉及到`...

    CAS Protocol 3.0 Specification.docx 官方中文版教程详解

    **CAS协议3.0详解** CAS(Central Authentication Service)是一种网络单点登录(SSO)/单点登出(SLO)协议。它的主要目的是在用户访问多个应用程序时,只需向中央CAS服务器提供一次凭证,如用户名和密码,从而...

    CAS单点登录HTTP协议版本配置指南

    ### CAS单点登录HTTP协议版本配置指南 #### 一、CAS版本及所需组件 本配置指南涉及的CAS版本如下: - **服务端**:cas-server-3.4.7 - **客户端**:cas-client-3.2.0 对于服务端而言,仅需解压`cas-server-webapp...

    cas修改登录页

    【标题】"CAS修改登录页"是一个针对中央认证服务(Central Authentication Service,简称CAS)的定制化实践。在单点登录(Single Sign-On,SSO)系统中,CAS扮演着核心角色,它提供了统一的身份验证服务,使得用户只...

    cas3.5.0集成oauth2.0协议

    要充分利用这个示例,你需要根据自己的环境对配置文件进行适当的修改,如设置正确的URL、客户端ID和密钥,并确保CAS服务器和第三方服务的配置一致。然后,通过运行示例应用,你可以观察到OAuth2.0授权和令牌交换的...

    CAS协议介绍

    CAS协议介绍,介绍其基本原理,及及其方式

    比较详细的中文cas协议介绍

    标题和描述概述了关于CAS(Central Authentication Service)协议的一个详细介绍,特别强调了中文解释,以帮助那些可能对英文文档感到困难的学习者。CAS协议是一种用于单点登录(SSO)场景的身份验证协议,广泛应用...

    落雨博客基于CAS框架的单点登录技术讲解(ppt+code实例+doc)配套资料

    内含本人实例精华,一个自做PPT,动画解析cas协议,四个客户端client程序实例,一个server端程序,N个文档以及所有xml文件。配套讲解博客地址: [置顶] SSO单点登录系列3:cas-server端配置认证方式实践(数据源+...

    CAS协议 - Introduction、Conventions & Definitions、CAS Entities

    对于想要深入学习CAS协议的读者,可以通过阅读指定的博文链接(https://desert3.iteye.com/blog/1703102)获取更多详细信息,同时《CAS协议介绍中文版.doc》文档应该会提供更详尽的解释和案例分析,帮助你全面掌握...

    cas-3.4.1_单点登录_CAS_

    6. **安全性**:CAS通过HTTPS等安全协议传输票证,确保了通信的安全性。同时,它还支持票证的过期和重用策略,增强了系统的安全性。 7. **可扩展性**:CAS的架构设计允许开发者轻松添加自定义功能,如自定义认证...

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

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

    cas自定义登录页面

    CAS(Central Authentication Service)是一种基于Web的单一登录(Single Sign-On, SSO)协议,用于在网络上验证用户身份。它允许用户通过一个认证过程访问多个应用系统,而无需为每个系统分别进行登录。在你的场景...

Global site tag (gtag.js) - Google Analytics