cas错误:org.jasig.cas.client.validation.TicketValidationException: No principal was found in the response from the CAS server.

发布于 2022-03-07 18:07:32 字数 603 浏览 725 评论 9

      我在本机测试cas的部署,客户端和服务端同时安装在我本机(win7),使用了两个tomcat(6.0.7)分别对应cas客户端(3.2.1)和cas服务端(3.4),

     同时安装了两个jdk,一个是jdk1.6(设置成了环境变量),一个是jdk1.5;

    cas服务端tomcat对应的是jdk1.6版本(默认的),cas客户端tomcat使用jdk1.5。

     我也把使用jdk1.6的keytool生成的证书导入到了cas客户端要使用的jdk1.5的cacerts里面。

     cas服务端和cas客户端按网上大家说的配置,在服务端生成ticket成功,跳转到客户端,客户端再向服务端验证ticket时报错,具体如下:

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

梦中楼上月下 2022-03-11 07:39:16

我出现这种情况是因为当时配的是本机的IP,写的是127.0.0.1:8080,但我访问的时候使用localhost:8080,

成熟的代价 2022-03-11 07:15:39

您好,我也碰到了相同的问题,但是按照你的解决方法,我还是会出错。错误信息如下:

java.lang.RuntimeException: java.io.IOException: Server returned HTTP response code: 500 for URL: http://service.thldl.org.cn/serviceValidate?ticket=ST-6-E5Z7zvVeRd0tvwwewRWw-cas01.example.org&service=http%3A%2F%2Fapp.thldl.org.cn%2F%2F%2Fsigns%2F
	org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:328)
	org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:291)
	org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:32)
	org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:187)
	org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:164)
	org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:102)
	org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.java:65)

从错误信息来看,是

http://service.thldl.org.cn/serviceValidate?ticket

这个地址有问题了,所以我觉的web.xml中的casServerUrlPrefix还是需要加上cas的

画骨成沙 2022-03-11 07:13:04

应该加端口号,这样就正确了

瑾夏年华 2022-03-11 06:45:57

回复
是的~~正解!!真的是很多列子害死人~~不懂为何他们都没碰上~~

多情癖 2022-03-11 03:44:48

终于解决了,这个错误怎么就没人发现呢,哎。最后还是看:http://jasig.275507.n4.nabble.com/No-principal-was-found-in-the-response-from-the-CAS-server-td1011262.html找到的方法,现把原因贴出来:

cas客户的的web.xml文件:

 

 

眼泪淡了忧伤 2022-03-11 02:39:05

有这样可能

情绪失控 2022-03-11 00:27:58

猜测是证书引起的。 可以试试不用证书的时候是否正常。我记得以前本机测试的时候没用证书都正常, 用了证书就有类似的错误。

记不清了

灵芸 2022-03-10 16:56:36

大虾们知道的教教小弟。

岁月打碎记忆 2022-03-07 22:14:09

根据网上所说,是在第5步: Step 5: CAS客户端取出ticket,生成“ticket验证URL”,然后向"ticket验证URL"发起http GET请求 "ticket验证URL":    http://${cas-server-host}:${cas-server-port}/cas-server /serviceValidate?ticket=${service-ticket}&service=${client-service-url} 出的错,然后我把ticket取出,单独放到这个url里面去,页面提示:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文