我在我的网络应用程序中有一个REST api,我获得了另一个webapp生成的cas票证。
该webapp实习生使用cas20proxyticketvalidator
来验证故障单。因此,我还在自定义过滤器中使用Cas20ProxyTicketValidator
来验证票证。
但它总是给我以下错误:
ticket = ST-148008-jWXKeEdHkxmuktvYqXF6-cas
org.jasig.cas.client.validation.TicketValidationException:
ticket 'ST-148008-jWXKeEdHkxmuktvYqXF6-cas' not recognized
at org.jasig.cas.client.validation.Cas20ServiceTicketValidator.parseResponseFromServer(Cas20ServiceTicketValidat
or.java:86)
at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java
:217)
为什么我的票不被识别?
答案 0 :(得分:6)
cas验证票证的方式是:
您遇到的问题可能有以下几个原因:
答案 1 :(得分:0)
检查生成的 serviceUrl ,因此更改软件包org.jasig的日志级别。
使用SpringBoot,在application.properties中添加
logging.level.org.jasig=DEBUG
在控制台中
org.jasig.cas.client.util.CommonUtils : serviceUrl generated: https://xxx
在application.properties
中验证并修改您的 cas.client-host-url## CAS[2.0]
cas.server-url-prefix=https://cashost.com/cas
cas.server-login-url=https://cashost.com/cas/login
cas.client-host-url=xxx
cas.validation-type=CAS
请谨慎使用cas.client-host-url,网址末尾不能使用斜杠。
修改.properties后,不要忘记 mvn干净软件包