【技术研究】单点登录(续)

上篇文章,从一场旅游讲解了单点登录要解决的问题和解决方案,今天的这篇文章咱们从更进一个层次来讲讲单点登录.

 

概念

单点登录,从字面上来说可以分为两个词,一个为单点,一个为登录。从登录的角度来说,单点登录是来解决登录问题的,而单点,就是为了提高用户体验,一个网站的各个分站点只需要登录一次就可以全部登录。就拿网易来说,当我们登录网易之后,我们在打开网易博客网易邮箱,我们都是不需要再登录的。单点登录就是一个企业业务整合的一个解决方案,当然不是唯一的。

接下来我们看看更专业的解释。

单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。《百度百科》

CAS ( CentralAuthentication Service )是 Yale 大学发起的一个企业级的、开源的项目,旨在为 Web 应用系统提供一种可靠的单点登录解决方法(属于 Web SSO )。

 

SSO可以理解为一种思想,而CAS就是在这种思想指导下的一个更具体的解决方案。就好像ORM和EF的关系一样。

 

原理

读了上一篇文章后,我想对于实现原理大家已经可以说个八九不离十了,接下来咱们再梳理一遍。


CASClient在这里我们可以理解为各个景点

CASServer:单点登录的服务端,负责对信息的验证和创建。

Web:本机的浏览器

Ticket:票据(就相当我们旅游时的门票你有票而是真票才能让你进)

 

1.      浏览器去访问子系统,输入网址

2.      子系统判断浏览器没有携带票据,重定向到子系统CAS服务端。并携带本子系统地址。

3.      CAS服务端看子系统没有携带票据,此时创建票据,并将子系统地址和生成的票据返回给浏览器,其中票据在本地保存一份。

4.      浏览器重新携带票据访问该子系统,子系统读取到浏览器携带的票据,将票据送往服务端进行验证。

5.      服务端验证子系统提交的票据进行验证,验证通过则通知子系统可以登陆(验证失败通知子系统无法登陆,跳到登录页)

6.      第二次登录(从4步开始执行)


总结

       CAS的的学习断断续续有两个月,在这两个月的学习过程中,最大的感受就是只有实践才能验证我们到底有没有对这个技术点学会,书本上讲的都是一些通用的理论,并没有很大的实践性,所以实践才是检验我们是不是学到真本事的方案。从CAS的学习过程中,自己收获了很多

 

 

你可能感兴趣的:(SSO,cas,token,ticket)