耶鲁的东西。。建议贴到stackoverflow上面去!~~

解决方案 »

  1.   

    stackoverflow太专业了  英文不好看不太懂
      

  2.   

    看你的异常信息,是在ticket验证中出错了,说明服务器端正常返回了,但是返回的xml片段不能被正常解析casServiceValidationSuccess.jsp这个文件有改动过吗?还有,把你在ticket验证过程的xml返回信息贴出来看看
      

  3.   

    刚刚经历过这件事情。非常操蛋的一个配置错误。在你的application的web.xml中(不是sso的web.xml)。CAS Authentication Filter和CAS Validation Filter的casServerUrlPrefix是不一样的。注意是/login,登录的URL
      <filter>
        <filter-name>CAS Authentication Filter</filter-name>
        <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
        <init-param>
            <param-name>casServerLoginUrl</param-name>
            <param-value>https://battags.ad.ess.rutgers.edu:8443/cas/login</param-value>
        </init-param>
      </filter>
    注意是没有/login的根目录
      <filter>
        <filter-name>CAS Validation Filter</filter-name>
        <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
        <init-param>
            <param-name>casServerUrlPrefix</param-name>
            <param-value>https://battags.ad.ess.rutgers.edu:8443/cas</param-value>
        </init-param>
      </filter>一般我们会习惯性的都配置成加/login的地址,Validation就会一直帮你解析这个login页面就会一直报错,而这个错误又不是特别的明确,搞得一头雾水不知道该怎么办
      

  4.   

    太他妈操蛋了, 就这问题,让我找了整整一天, 无意中看到你这么说,我还没当回事, 可没想到还就是这问题啊。。
    只要吧验证的login去掉就好了他直接是去找项目目录的不是去找login页面的