主题
CAS FAQ
访问应用报404
问题现象:谷歌浏览器访问系统跳转到ids登录页显示404

问题原因和解决方法:浏览器F12打开开发调试模式,在网络里查看报错页面的referer地址

将F12看到的referer地址在管控台配置添加到referer白名单
路径:系统配置->高级选项->系统参数配置->referer白名单配置
配置方法:配置协议+域名或协议+ip:端口,多个配置之间英文逗号隔开,注意不要加任何上下文

应用未注册
配置问题
问题现象:访问门户提示应用未注册

问题原因和解决方法:排查发现minos管控台中系统注册地址错误,修改为正确的格式
注意
cas协议配置里的认证地址才是校验的地址,配置格式是 http|https://系统域名.*
系统协议和域名需要跟应用未注册页面url的service=后面的协议域名保持一致


第三方参数问题
问题现象:ids7有个vpn.gxdlxy.com的应用,单点的使用打开地址就报错应用未注册,检查CAS配置里,地址已经配置成http://vpn.gxdlxy.com.*了

问题原因和处理方法:检查注册的地址跟认证登录页“service=”后面的系统地址域名一致

复现问题,查看认证cas.log日志,发现有如下报错

定位是跳转地址client_name=login参数导致,应该是跟认证本身冲突,去掉可以正常跳转认证,联系厂商去掉这个参数

票根XXX不符合目标服务
此类问题原因是ids创建票据给第三方系统时会授权给第三方系统的url,当第三方系统收到票据后再到ids来校验票据,会带上票据和系统url来校验,当校验票据时传过来的url和之前ids创建票据时授权的url不一致时,就会报此错误。所以需要保证前后的url一致。
案例1
访问系统跳转到ids登录页,登录后系统报错如下

问题分析和解决方法:访问第三方系统http://sso.goworkla.cn/Xxvtc/caslogin跳转到ids登录页,url认证域名service=后面跟的url为http://sso.goworkla.cn/Xxvtc/caslogin?callback=http://xxzyjs.goworkla.cn/
ids给这个url创建了st并发送给第三方系统,第三方系统调用ids票据校验接口带过来的url是http://sso.goworkla.cn/Xxvtc/caslogin,两个url不一致,导致票据校验失败,返回票据不符合目标服务,第三方系统调整后正常

案例2
现象描述: 第三方系统为.net系统,登录后认证问题如下:

问题分析和解决方法:检查ids后台日志,登录后报错信息如下,原因是ids创建票据给第三方系统的url跟第三方调用ids票据验证接口时传过来的url不一致,后面多了一串ticeket信息,所以报票根不符合目标服务。

未能够识别出目标xxx票根

此问题通常是访问ids的域名80或443端口较慢或者不通,调用ids的票据验证接口不成功
解决方案:
- 在应用的服务器上配置
hosts解析ids的域名,解析完可以telnet ids的域名:端口进行测试 - ids如果是集群部署,多台服务器之间时间需要保持一致。因为ST票据失效也会出现该问题。
集成系统登录后报500或其他错误,系统url后面带着票据信息
此现象通常是在浏览器地址栏里显示应用系统url后面跟着票据信息ticket=XXXX,此问题可以查看authserver日志,会发现只有创建票据信息,没有校验票据的信息,原因是第三方系统未能调用到ids的票据验证接口,
ids票据验证接口url为http://认证域名+端口/authserver/serviceValidate
未调用到ids票据验证接口有以下几个原因:
- 网络问题,第三方系统服务器上无法访问 认证域名
80或443端口 - 第三方配置错误,导致调用的接口url不对,没成功调用到接口
- 第三方程序有问题,没有调用ids的票据验证接口
- 认证是https,第三方调用认证的https的票据校验接口报证书识别错误

