cas登录,单点登录实际全部走cas服务中心进行登录,如果我们将cas部署后访问其他项目拦截器跳转到cas登录中心,登录cas时需要传入我们登录成功后需要返回的地址,这个地址cas会将登录结果推送到我们传入的这个地址,然后我这个控制器中写入逻辑。
当我们用192.168.1.5:8080登录后,浏览器会保存cookie,但是用192.168.1.6登录时没有登录信息,因此当我们请求cas服务时,cas会将192.168.1.5的cookie读取到然后奖用户信息返回给192.168.1.6配置的推送地址
http://192.168.1.5:8080/sso/login?service=http://192.168.1.6:8080/cas
cas推送回来结果示例:
http://192.168.1.6:8080/cas?ticket=ST-549651-dzUjNmtFklK0YgoaSLiH846XFkAlocalhost
然后下一步cas会用ticket加上上次我们传入service的地址一起校验返回登录成功的用户信息,这一步目前cas有自带的拦截器做数据发送返回对象,当然也可以自己请求拿用户信息,接口返回xml格式
发送get请求就可以
http://192.168.1.5:8080/sso/p3/serviceValidate?ticket=ST-549651-dzUjNmtFklK0YgoaSLiH846XFkAlocalhost&service=http://192.168.1.6:8080/cas