
访问不受保护的资源不需要判断登录;
1)用户访问 系统A 受保护资源,系统A做登录检查,若已登录,返回受保护资源;
2)若未登录,则重定向到认证中心,认证中心判断是否存在全局票据;
3)若不存在,则需要展示登录页,让用户登录,登录后生成全局票据,认证中心重定向请求到系统A,并附上认证通过令牌;若存在 认证中心重定向到系统A,并附上认证通过令牌;
4)系统A从第三步获得令牌,用令牌到认证系统认证,若通过认证,认证中心返回用户信息给系统A,系统A就可以标记登录状态;
5)系统A返回受保护资源给用户
1)、问:系统A是如何发现该请求需要登录重定向到认证中心的?
答:用户通过浏览器地址栏访问系统A,系统A(也可以称为CAS客户端)去Cookie中拿JSESSION,即在Cookie中维护的当前回话session的id,如果拿到了,说明用户已经登录,如果未拿到,说明用户未登录。
2)、问:系统A重定向到认证中心,发送了什么信息或者地址变成了什么?
答:假如系统A的地址为http://a:8080/,CAS认证中心的服务地址为http://cas.server:8080/,那么重点向前后地址变化为:http://a:8080/————>ttp://cas.server:8080/?service=http://a:8080/,由此可知,重点向到认证中心,认证中心拿到了当前访问客户端的地址。
3)、问:登录成功后,认证中心重定向请求到系统A,认证通过令牌是如何附加发送给系统A的?
答:重定向之后的地址栏变成:http://a:8080/?ticket=ST-XXXX-XXX,将票据以ticket为参数名的方式通过地址栏发送给系统A
4)、问:系统A验证令牌,怎样操作证明用户登录的?
答:系统A通过地址栏获取ticket的参数值ST票据,然后从后台将ST发送给CAS server认证中心验证,验证ST有效后,CAS server返回当前用户登录的相关信息,系统A接收到返回的用户信息,并为该用户创建session会话,会话id由cookie维护,来证明其已登录。
本文详细阐述了CAS(Central Authentication Service)认证流程,包括系统A如何判断用户登录状态、重定向至认证中心的过程、登录后的令牌传递方式以及系统A验证令牌的具体步骤。

被折叠的 条评论
为什么被折叠?



