写道
凉鞋与拖鞋的约会
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 协议3.0 身份认证3.0协议 CAS 协议3.0 身份认证3.0协议CAS 协议3.0 身份认证3.0协议
CAS协议分析
cas 单点登录 修改https访问协议为http
CAS协议,包括cas1.0和cas2.0的协议,cas 协议分为两部分,一部分是票据-ticket,一部分是url。
NULL 博文链接:https://yuzhwe.iteye.com/blog/831892
CAS 单点登录 HTTP协议 配置指南 SSO CAS 单点登录 HTTP协议 配置指南 SSO CAS 单点登录 HTTP协议 配置指南 SSO
cas3.5.0集成oauth2.0协议,模拟cas3.5.0通过oauth2.0协议与集成了coauth2.0的cas进行模拟通信。可以实现 与新浪微博等第三方身份验证平台对接,实现单点登录。
内含本人实例精华,一个自做PPT,动画解析cas协议,四个客户端client程序实例,一个server端程序,N个文档以及所有xml文件。配套讲解博客地址: [置顶] SSO单点登录系列3:cas-server端配置认证方式实践(数据源+...
本项目用于实际单点登录项目中集成cas修改项目登录页,直接解压项目导入ecliplse即可以使用,脚本用原来自带的就可以
CAS协议介绍,介绍其基本原理,及及其方式
cas源码修改-登录页面
中文的cas的协议介绍,比较详细,适合对英文比较头疼的同学
cas协议3.0 中文版教程详解 这是CAS协议 1.0,2.0和3.0版本的官方规范。 Central Authentication Service(以下简称CAS)是一个网络的单点登陆(SSO)/单点登出(SLO)协议。它允许用户在访问多个应用程序时,仅需向中央...
cas一般使用https访问,现在修改源代码,可以使用http访问。
3. 修改 CAS 的 deployConfigContext.xml 配置文件,添加 Kerberos 认证协议。 配置域信息 要实现 CAS 与 AD 域的整合,需要在 Windows AD 中创建用户,并将其添加到域控制器中。 实现单点登录 通过配置 CAS 与 ...
CAS3.5单点登录修改后jar包下载
CAS 服务端代码,去除https验证模式,拖到tomcat 6.0+就可以用,免配置,cas-server-webapp-3.5.2\WEB-INF\deployerConfigContext.xml下修改数据库验证模板,直接套用模板就好,so easy
这是已经调整过的cas服务端,maven项目 已完成内容 登录页面已做调整 ... http://127.0.0.1:8080/cas-server/login?client=client1 参数client=client1表示使用client1方案的数据源和sql查询数据