CAS源码阅读

开源单点登录系统源码阅读

第一部分 登录流程



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就会先执行)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值