您的位置:首页 > 其它

CAS源码阅读

2016-07-04 01:23 337 查看
开源单点登录系统源码阅读

第一部分 登录流程

CAS 登录流程:

1、直接裸奔访问资源,被302重定向到   Location:https://localhost:8443/cas/login?service=http%3A%2F%2Flocalhost%3A10001%2F   

2、带上JSESSIONID访问CAS登录页面  Cookie:JSESSIONID=2BB3CA362D0BA6EB899AFBA161B0F4C5; JSESSIONID=246885DDC104F4F1A1785C1F74E768B8

   https://localhost:8443/cas/login?service=http%3A%2F%2Flocalhost%3A10001%2F

   页面中包含

   

3、POST登录信息   

   https://localhost:8443/cas/login?service=http%3A%2F%2Flocalhost%3A10001%2F   

   username:dddda
password:dddda
lt:LT-11-JlQ4oc3QddbdROIdOqgcSRPUDAqkcy
execution:e1s1
_eventId:submit
submit:登录

   

   生成ticket 带到URL参数中 http://localhost:10001/?ticket=ST-10-A7BxkqMqLOTsZbXbRtCS-cas01.example.org
   

4、带上ticket访问业务资源

    http://localhost:10001/?ticket=ST-10-A7BxkqMqLOTsZbXbRtCS-cas01.example.org
 

    业务端CAS客户端去校验ticket,并且设置Cookie   Set-Cookie:JSESSIONID=01353A8CE074BA067BE282475E664240; Path=/; HttpOnly

   并响应302 到业务资源 http://localhost:10001
5、 带上Cookie访问资源

6、中央认证退出,业务端配置sessionLogoutListener,收到退出通知,清理业务方的session,退出登录。未配置该listener的,业务端无法感知到统一认证中心已退出。(需确认:客户端是如何注册到统一认证中心的,或者说客户端是如何注册接收中心的退出消息)

第二部分  Spring webflow

1、通过flow-register节点定义的id和xml文件的映射关系来寻找url和webflow的映射关系。一个webflow的xml文件为一个流程,id为对应的url。

2、进入流程文件后,执行on-start和相关流程的var 变量定义后,会进入该文件中定义的第一个view-state,渲染页面(可以自己做一个测试,把后面的view-state挪上来,挪上来的这个view-state就会先执行)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  CAS