CAS单点登录报错 org.jasig.cas.client.util.XmlUtils 必须由匹配的结束标记
来源:互联网 发布:网络平台合作协议 编辑:程序博客网 时间:2024/06/04 19:49
今日调试单点登录时遇到下面的错误,查阅网上各种资料没有解决。经过自己的思索,可能是字符乱码导致正好cas服务器返回的信息有不规则的字符,导致解析报错。于是尝试解决。
1、报错信息如下:
2017-06-01 19:15:10,348 ERROR [org.jasig.cas.client.util.XmlUtils] - " 终止。>
org.xml.sax.SAXParseException; lineNumber: 31; columnNumber: 15; 元素类型 "cas:aae004" 必须由匹配的结束标记 "" 终止。
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.
at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.
at org.jasig.cas.client.util.XmlUtils.getTextForElement(XmlUtils.
at org.jasig.cas.client.validation.Cas20ServiceTicketValidator.parseResponseFromServer(Cas20ServiceTicketValidator.
at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.
at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.
at com.ylzinfo.ahygzw.filter.LoginFilter.doFilter(LoginFilter.
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.
at org.jasig.cas.client.session.SingleSignOutFilter.doFilter(SingleSignOutFilter.
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.
at
at
at
2、解决思路
首先发现cas服务器有些账号可以登录,有些不能登录。而这些账号格式都一样,区别就在内容。而返回数据有一个中文内容的字段,尝试将数据库该账号的中文内容修改成别的内容,再次启动调试,发现不报错!于是猜测可能是不同的中文乱码,有的正好会导致cas客户端解析失败。
解决方法:在客户端web.xml的CAS Validation Filter配置下增加
encoding
utf-8
再次还原之前报错的账号内容,登录成功!
阅读全文
1 0
- CAS单点登录报错 org.jasig.cas.client.util.XmlUtils 必须由匹配的结束标记
- 单点登录(四)-----遇到问题-----cas server 源码部署tomcat运行报错ClassNotFoundException: org.jasig.cas.CasEnvironmentCo
- Jasig cas 单点登录系统Server&Java Client配置
- Jasig cas 单点登录系统Server&Java Client配置
- Jasig cas 单点登录系统Server&Java Client配置
- org.jasig.cas.client.session.SingleSignOutHttpSessionListener
- jasig cas单点登录配置笔记
- 单点登录cas jasig学习笔记
- jasig CAS实现单点登录(数据库认证)
- jasig CAS实现单点登录(数据库认证)
- jasig CAS实现单点登录(数据库认证)
- cas 单点登录(SSO)之一: jasig cas-server 安装
- Cas单点登录(6)Cas Client配置
- SSO之CAS单点登录报错
- jasig cas单点登录配置笔记之二
- jasig cas单点登录配置笔记之三
- jasig cas单点登录配置笔记之四
- jasig cas单点登录配置笔记之五
- css基础(未完待续)
- phpstorm技巧随笔
- Ubuntu16.04 + cuda8.0 + GTX1080 + matlab14.04a + Opencv3.0 + caffe 安装教程
- 欢迎使用CSDN-markdown编辑器
- 省队集训DAY4
- CAS单点登录报错 org.jasig.cas.client.util.XmlUtils 必须由匹配的结束标记
- 好看的人太多,有趣的人太少
- windows中使用make
- bzoj4916 神犇和蒟蒻
- Redis持久化:aof和rdb
- 中国剩余定理题——Biorhythms
- Android 之 控件的背景样式总结
- 正则案例
- STM32学习之普通定时器是否能定时1us?