0 0

后台模拟登录CAS0

我在后台用httpservlet用httpclient4生成一个post请求模拟CAS登录,CAS显示登录成功了TGT和ST都生成成功了,我直接servlet的response重定向这个POST返回的location,在jetty中我的单点登录可以识别ST并且成功进入系统,但是打包到tomcat下运行的时候CAS提示TICKET_VALIDATED_FAILD票据验证错误,请问这是什么原因

问题补充:@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
// getClientToLogin(req, resp);
String username = (String) req.getParameter("username");
String password = (String) req.getParameter("password");
String basePath = req.getScheme() + "://" + req.getServerName() + ":"
+ req.getServerPort() + req.getContextPath() + "/";
String service = basePath + "static/frame";
String clientLoginUrl = basePath + "index.jsp";

ClientFactory client = ClientFactory.getInstance();
List<NameValuePair> parameters = new ArrayList<NameValuePair>();
parameters.add(new BasicNameValuePair("username", username));
parameters.add(new BasicNameValuePair("password", password));
parameters.add(new BasicNameValuePair("service", service));
parameters
.add(new BasicNameValuePair("clientLoginUrl", clientLoginUrl));

HttpCallbackObject callback = client.remoteLogin(parameters);
HttpResponse response = callback.getResponse();
HttpClient httpClient = callback.getClient();
String redirectUrl = null;
if (response.getStatusLine().getStatusCode() == 302) {
Header locationHeader = response.getFirstHeader("location");
redirectUrl = locationHeader.getValue();
}
httpClient.getConnectionManager().shutdown();
log.info("remote login redirect to : " + redirectUrl);
// resp.sendRedirect(redirectUrl);

HttpClient clientGet = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(redirectUrl);
HttpResponse respGet = clientGet.execute(httpGet);
log.info("respGet status code : "
+ respGet.getStatusLine().getStatusCode());
if (respGet.getStatusLine().getStatusCode() == 200) {
EntityUtils.consume(respGet.getEntity());
}
clientGet.getConnectionManager().shutdown();

resp.sendRedirect(redirectUrl);
return;
}
2012年12月18日 09:26

1个答案 按时间排序 按投票排序

0 0

贴一下详细错误,是不是没装证书?

2012年12月18日 10:12

相关推荐

    利用CAS实现单点登录的完整实例

    总结,通过学习和实践这个"利用CAS实现单点登录的完整实例",你将掌握如何使用Jasig CAS构建一个高效的单点登录系统,从而提升用户体验,简化身份验证管理,并加强系统的安全性。记得深入理解每个步骤,并根据实际...

    cas实现单点登录,登出(java和php客户端)

    标题中的“CAS实现单点登录,登出(Java和PHP客户端)”指的是使用中央认证服务(Central Authentication Service,简称CAS)来构建一个跨域、跨平台的单点登录(Single Sign-On, SSO)系统。在这样的系统中,用户只...

    cas 自定义登录页面

    CAS(Central Authentication Service)是一种广泛使用的开放源代码单点登录(Single Sign-On,SSO)框架,它允许用户通过一个中央认证服务访问多个应用系统,而无需为每个系统单独进行登录。在实际的企业环境中,...

    cas修改登录页

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

    cas自定义登录页面

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

    cas、第三方接口登录

    CAS(Central Authentication Service)是基于Java的开源身份验证框架,用于实现单一登录(Single Sign-On,简称SSO)。SSO允许用户通过一次登录,就可以访问多个应用系统,无需重复输入用户名和密码。这对于大型...

    基于springboot,cas5.3,shiro,pac4j,rest接口获取ticket不再跳转cas server登录页

    本文将深入探讨如何利用Spring Boot、CAS 5.3、Shiro、Pac4J这四个强大的工具来构建一个高效且用户友好的REST接口,以获取CAS(Central Authentication Service)票据,避免用户被重定向到CAS服务器的登录页面。...

    cas 单点登录

    2. **重定向到CAS服务器:** 应用系统检测到用户未登录,将其重定向到CAS服务器的登录页面。 3. **用户登录:** 用户在CAS服务器上输入用户名和密码进行身份验证。 4. **服务票证(Service Ticket):** 验证成功后...

    单点登录CAS资料

    单点登录(Single Sign-On,简称SSO)是一种网络...总的来说,单点登录CAS是一个强大的工具,它能够提高企业或组织的IT系统安全性,提升用户满意度。理解和掌握CAS的原理及实施方法,对于IT专业人员来说是十分重要的。

    单点登录cas源码

    CAS(Central Authentication Service)是单点登录的一种实现,它是一个开源的身份验证框架,主要用于Web应用。本主题涉及的是CAS的源码分析。 CAS的核心功能包括身份验证、服务票证(Ticket)管理和代理认证。当...

    单点登录CAS相关资料

    总结来说,"单点登录CAS相关资料"包含了实现SSO的关键组件:CAS服务器的可部署版本(cas.war)、针对个性化需求的自定义登录页面以及运行CAS所需的一系列库文件。通过理解和运用这些资源,开发者可以搭建并配置自己...

    集成cas实现单点登录认证.zip

    本压缩包"集成cas实现单点登录认证.zip"显然包含了关于如何使用CAS(Central Authentication Service)框架集成SSO认证的资源。下面我们将详细探讨相关的知识点。 1. CAS简介:CAS是耶鲁大学开源的一个Web应用的...

    CAS自定义加密和登录验证

    CAS(Central Authentication Service,中央认证服务)是一种广泛使用的开源身份验证框架,主要用于实现单点登录(Single Sign-On,SSO)。在本主题中,我们将深入探讨如何在CAS中进行自定义加密和登录验证。 首先...

    CAS认证通过却停留在业务系统登录界面无法登录

    标题中的“CAS认证通过却停留在业务系统登录界面无法登录”是一个常见的身份验证问题,涉及到CAS(Central Authentication Service)中央认证服务。CAS是一个开源的身份验证框架,用于在一个或多个人员访问的应用...

    单点登录CAS方案

    单点登录CAS方案,同时提供CAS+HTTP+Oracle和CAS+HTTPS+Oracle两种方案,亲自测试OK,客户端修改方案自行百度,太简单

    cas .net单点登录

    CAS(Central Authentication Service)是基于Java开发的一种开源的单点登录(Single Sign-On,简称SSO)协议。在.NET环境中,我们可以通过实现CAS客户端来实现单点登录功能。本示例将详细介绍如何在.NET项目中集成...

    单点登录CAS.net客户端源码

    本资源“单点登录CAS.net客户端源码”提供了实现CAS协议的.NET客户端源代码,适用于.NET框架的项目。 首先,我们需要理解CAS的基本工作流程。当用户尝试访问一个受CAS保护的资源时,会被重定向到CAS服务器进行身份...

    自定义客户端登录CAS服务器-iframe实现

    标题中的“自定义客户端登录CAS服务器-iframe实现”是指一种基于CAS(Central Authentication Service)的认证方式,它利用iframe在不离开当前页面的情况下实现用户的单点登录(Single Sign-On,SSO)。CAS是一种...

    基于Cas的单点登录实现

    **基于Cas的单点登录实现** 单点登录(Single Sign-On,简称SSO)是一种在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的技术。它为用户提供了一种方便、高效的访问多系统的方式,同时减少...

Global site tag (gtag.js) - Google Analytics