cas简介

session在web开发语境下,用来保存客户端和服务端之间的状态。除非程序通知服务器删除一个session,否则服务器会一直保留,程序一般都是在用户退出的时候发个指令去删除session。关闭浏览器不会导致session被删除,迫使服务器为seesion设置了一个失效时间。
session实现:
在Cookie中写入sessionID,如tomcat默认写入为JSESSIONID
URL重写,把sessionId作为参数直接附加在URL路径的后面

cookie也是用来保持客户端和服务端之间的状态,Cookie是记录在客户端的。
服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie
主要属性有:名字,值,过期时间,路径(path)和域(domain)。如果不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了。

TGT(Ticket Granted Ticket) :CAS服务器用的,存放在服务器端,用TGT可以产生ST
TGC(Ticket Granted Cookie ):TGT的ID,存放在Cookie中,CAS服务端可以通过TGC找到存放在服务端的TGT
ST(Service Ticket ):CAS和应用服务器之间沟通的票据,在URL中重定向中传输,应用系统拿到ST的去CAS验证,验证通过后表示应用系统登录

1个cookie :CAS服务器生成的cookie(tgc),只有CAS服务器才能获取到
N个session :N个应用系统采用session中的assertion对象表示是否登录

1、用户访问应用系统:检查session有没有assertion,没有去cas服务拿
2、重定向到CAS服务器:检查cookie有没有tgc,没有去登录页登录,登录页存放于cas服务器
3、输入用户名密码提交:用户名密码验证通过,生成一个TGT,把TGTID写到你的COOKIE里(TGC),再用TGT生成一个st去登录应用系统
4、URL中带着ST访问应用系统:去cas服务器验证st是否合法
5、调用接口验证ST:ST验证成功,我生成一个assertion对象放到session中,以后就不用等了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值