cas-循环重定向

设定:

1
2
CAS: cas 服务器
APP: 应用服务器

循环重定向

由于在CAS验证通过,重定向到APP之后,在APP上校验失败导致再次去CAS请求登录,而CAS上为登录成功状态,于是生成新的service-ticket,再次重定向到APP,如此循环

客户端代码问题

因为我们做的单点登录只在CAS上校验账号密码,APP需要根据从CAS中取到的用户id,加载出用户信息和权限信息,若客户端取用户信息代码出错,则会导致循环重定向

数据库配置

若CAS与APP链接的为不同的数据库,两个数据库中用户信息不一致,则客户端找不到用户信息,重定向

网络不通

因为一部分逻辑是通过浏览器重定向,而另一部分是服务器通过http直连通信,若两个服务器之间互相不通,则会导致如下问题

  1. APP->CAS不通,会导致重定向到APP之后,APP校验service-ticket失败,不能从CAS拿到用户id等基本信息,则重定向
  2. CAS->APP不通,单点登出通知失败,不会报错,但是单点登出表现为除当前登出的服务器登出成功之外,其他服务器登出失败(表述的不是很准确,自行理解)

而网络不通一般由以下原因导致

  1. 域名解析失败。若域名为内网自己配置的域名,而服务器的hosts中未加入该域名,则由于dns解析失败导致重定向
  2. 防火墙,当两个服务器部署在不同的机器上时,由于防火墙导致网络不通,导致重定向
  3. docker容器中,访问外部网络不通

。。。 或许还有很多网络不通的原因,根据各种情况自行检查

文章目录
  1. 1. 循环重定向
    1. 1.1. 客户端代码问题
    2. 1.2. 数据库配置
    3. 1.3. 网络不通
,