cas错误:org.jasig.cas.client.validation.TicketValidationException: No principal was found in the response from the CAS server.
我在本机测试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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
我出现这种情况是因为当时配的是本机的IP,写的是127.0.0.1:8080,但我访问的时候使用localhost:8080,
您好,我也碰到了相同的问题,但是按照你的解决方法,我还是会出错。错误信息如下:
从错误信息来看,是
这个地址有问题了,所以我觉的web.xml中的casServerUrlPrefix还是需要加上cas的
应该加端口号,这样就正确了
回复
是的~~正解!!真的是很多列子害死人~~不懂为何他们都没碰上~~
终于解决了,这个错误怎么就没人发现呢,哎。最后还是看:http://jasig.275507.n4.nabble.com/No-principal-was-found-in-the-response-from-the-CAS-server-td1011262.html找到的方法,现把原因贴出来:
cas客户的的web.xml文件:
有这样可能
猜测是证书引起的。 可以试试不用证书的时候是否正常。我记得以前本机测试的时候没用证书都正常, 用了证书就有类似的错误。
记不清了
大虾们知道的教教小弟。
根据网上所说,是在第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里面去,页面提示: