写道
凉鞋与拖鞋的约会
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 协议是一个基于 HTTP 的协议,分为两部分:票据(Ticket)和 URL。CAS 协议的主要目的是提供单点登录(SSO)功能,实现用户的身份验证和授权。 票据(Ticket...
当我们提到“取消HTTPS协议”时,这通常涉及到在CAS服务器配置中移除或禁用HTTPS,以便在非加密的HTTP协议下运行。这可能是出于测试、开发环境的需求,或者在某些特殊情况下,如网络限制或性能优化考虑。 【描述】...
cas 单点登录 修改https访问协议为http
CAS(Central Authentication Service)协议3.0是一个用于网络身份认证的开源协议,其设计目的是为了实现单点登录环境。在这一协议中,用户只需要进行一次身份验证,便可以获得对多个应用系统的访问权限。这种方式...
CAS协议分析
在“cas源码修改-登录页面”这个主题中,我们将深入探讨如何定制CAS服务器的登录界面以满足特定需求。 首先,CAS的登录页面通常位于`/login`路径下,这是由CAS服务器的核心组件处理的。在源码中,这部分主要涉及到`...
**CAS协议3.0详解** CAS(Central Authentication Service)是一种网络单点登录(SSO)/单点登出(SLO)协议。它的主要目的是在用户访问多个应用程序时,只需向中央CAS服务器提供一次凭证,如用户名和密码,从而...
### CAS单点登录HTTP协议版本配置指南 #### 一、CAS版本及所需组件 本配置指南涉及的CAS版本如下: - **服务端**:cas-server-3.4.7 - **客户端**:cas-client-3.2.0 对于服务端而言,仅需解压`cas-server-webapp...
【标题】"CAS修改登录页"是一个针对中央认证服务(Central Authentication Service,简称CAS)的定制化实践。在单点登录(Single Sign-On,SSO)系统中,CAS扮演着核心角色,它提供了统一的身份验证服务,使得用户只...
要充分利用这个示例,你需要根据自己的环境对配置文件进行适当的修改,如设置正确的URL、客户端ID和密钥,并确保CAS服务器和第三方服务的配置一致。然后,通过运行示例应用,你可以观察到OAuth2.0授权和令牌交换的...
CAS协议介绍,介绍其基本原理,及及其方式
标题和描述概述了关于CAS(Central Authentication Service)协议的一个详细介绍,特别强调了中文解释,以帮助那些可能对英文文档感到困难的学习者。CAS协议是一种用于单点登录(SSO)场景的身份验证协议,广泛应用...
内含本人实例精华,一个自做PPT,动画解析cas协议,四个客户端client程序实例,一个server端程序,N个文档以及所有xml文件。配套讲解博客地址: [置顶] SSO单点登录系列3:cas-server端配置认证方式实践(数据源+...
对于想要深入学习CAS协议的读者,可以通过阅读指定的博文链接(https://desert3.iteye.com/blog/1703102)获取更多详细信息,同时《CAS协议介绍中文版.doc》文档应该会提供更详尽的解释和案例分析,帮助你全面掌握...
6. **安全性**:CAS通过HTTPS等安全协议传输票证,确保了通信的安全性。同时,它还支持票证的过期和重用策略,增强了系统的安全性。 7. **可扩展性**:CAS的架构设计允许开发者轻松添加自定义功能,如自定义认证...
CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(Single Sign-On,简称SSO)协议,它为各种应用程序提供了一种集中式的身份验证服务。CAS 3.5 版本是其历史上的一个重要版本,它为...
CAS(Central Authentication Service)是一种基于Web的单一登录(Single Sign-On, SSO)协议,用于在网络上验证用户身份。它允许用户通过一个认证过程访问多个应用系统,而无需为每个系统分别进行登录。在你的场景...