• CAS


     以上CAS的登录流程图

    原理是:第一步:用户访问A系统,A系统查看用户是否有JSession或者Ticket票据,如果没有,这说明还没有登录,如果有其中一个就说明已经登录。

        第二步:A系统发现用户没有登录,则重定向到认证中心,并且将用户的客户端地址作为参数传递到认证中心,这时认证中心将执行获取全局票据的操作,如果没有则会呈现登录页面让用户进行登录。

        第三步:用户登录成功后,CAS服务器会创建全局会话TGT,TGT位于CAS服务端,TGT并没有放在Session中,也就是说,CAS全局会话的实现并没有直接使用Session机制,而是利用了Cookie自己实现的,并且将TGT的id缓存在浏览器cookie中(TGC),同时会产生一个随机的 Service Ticket (ST),并且重定向到A系统,并且携带ST,重定向之后的地址变为:http://a:8080/?ticket=ST-XXXX-XXX。

        第四步:此时A系统会再次进行登录检查,验证ST(票据)有效之后,CAS会返回当前用户信息,A系统接收到用户信息后,会为该用户创建Session局部会话,会话id由cookie维护,保存在浏览器中,来证明其已登录。以后都通过局部会话ID与系统交互。

        第五步:系统A将受限资源返给用户。至此,用户向系统A发送一个请求的流程已经完成。这个时候,如果用户向系统A发送另外一个请求,因为系统A和浏览器之间已经创建了一个局部会话,因此这时候会直接返回资源。

  • 相关阅读:
    node.js如何让前端请求时能跨域
    手把手教你使用webpack搭建vue框架
    手把手教你使用koa2
    react性能优化
    axios post 踩坑之 post传参
    小程序自定义左上角返回按钮跳转到指定界面
    webpack入门教程
    编写可维护的js代码
    js的严格模式
    vue短信验证性能优化写入localstorage中
  • 原文地址:https://www.cnblogs.com/liweibin00/p/12084997.html
Copyright © 2020-2023  润新知