日期:2014-05-19  浏览次数:20572 次

单点登录异常、
这个异常跟之前在网上一哥们发贴一模一样、只不过没解决、
这个是之前那哥们的帖子:
http://topic.csdn.net/u/20120919/17/42a9da2c-d93c-4ad1-bc46-51e389d24649.html


我的cas service 3.5.1 client 是3.2.1

cas正常部署、在自己的项目没加web.xml的cas设置 登录是可以的

现在的问题是 cas拦截全部路径、 cas登录后跳转、 网页卡很长时间 最后报出异常、

后台也明显的给了ticket、并且要跳到那个路径、不过却异常了、

各位帮忙分析下原因、


异常:

XML code
ERROR org.jasig.cas.client.util.XmlUtils  - org.xml.sax.SAXParseException: The element type "label" must be terminated by the matching end-tag "</label>".
org.xml.sax.SAXParseException: The element type "label" must be terminated by the matching end-tag "</label>".
    at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    at org.apache.xerces.util.ErrorHandlerWrapper.fatalError(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    at org.apache.xerces.impl.XMLErrorReporter.reportError(Unknown Source)
    at org.apache.xerces.impl.XMLScanner.reportFatalError(Unknown Source)
    at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.jasig.cas.client.util.XmlUtils.getTextForElement(XmlUtils.java:164)



然后出500错误、


XML code
java.lang.NullPointerException
    at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768)
    at org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl.retrieve(ProxyGrantingTicketStorageImpl.java:85)
    at org.jasig.cas.client.validation.Cas20ServiceTicketValidator.parseResponseFromServer(Cas20ServiceTicketValidator.java:91)
    at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:217)
    at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:169)




自己项目的web.xml中cas的配置如下:(根据一个demo的样例来设置的、没有改动其他cas文件、http://www.kafeitu.me/sso/2010/11/05/sso-cas-full-course.html )
XML code

<!-- ======================== 单点登录开始 ======================== -->
        <!-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置-->
        <listener>
                <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
        </listener>

        <!-- 该过滤器用于实现单点登出功能,可选配置。 -->
        <filter>
                <filter-name>CAS Single Sign Out Filter</filter-name>
                <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
        </filter>
        <filter-m