微服之道,方兴未艾;农之来学者,盖已千者!
这句是从《陶山集·太学案问》瞎改出来的。意思就是微服务的架构理念还在不断地发展,如今整个啥都 言必出微服务,差点都到了 没学过微服务的码农不是一个好码农
。搞到微服务这个词都快跟区块链差很少臭了。html
在将臭未臭以前,咱们赶忙把其中的统一认证这块过一下。安全
在微服务的概念中,巴不得每个API都起一个独立的微服务,全部一个系统有几十个,甚至成百上千个独立的微服务也不见怪。 而安全又是每个服务都必须面对的问题!若是让每个微服务都独立处理的话,那Martin Fowler估计早就被码农拉去祭天了。因此统一认证大势所趋,将安全有关的认证与受权集中到一个服务中进行处理,各个微服务只需简单校验便可,无需另起炉灶!服务器
统一认证的开源实现有不少,目前比较出名的有Apereo CAS (发音为 /kæ's/),Keycloak等,咱们尽可能都介绍到,今天先看一下Apereo CAS
首先CAS是Central Authentication Service的首字母缩写,Apereo CAS 是由耶鲁大学实验室2002年出的一个开源的统一认证服务。架构
据官网介绍,Apereo CAS是一个开源的企业级单点登陆系统,包括了以下特性:微服务
码农上手一个新东西,第一时间还不赶忙把它的架构搂两眼
![]()
从这个图能够看到,Apereo CAS主要组成就两大组件,一个服务器端,还有各类语言的客户端。区块链
应用程序经过CAS的客户端,拦截校验用户请求是否经过认证,若是还没有认证,则重定向到CAS服务端的用户登陆页面进行登陆,登陆成功后,会生成一个ticket给回应用程序,下次用户请求带着这个ticket就所向无阻。spa
前面说了Apereo CAS是耶鲁大学Technology and Planning实验室的Shawn Bayern 在2002年出的一个开源系统。刚开始名字叫Yale CAS。 Yale CAS 1.0的目标只是一个单点登陆的系统,随着慢慢用开,功能就愈来愈多了,2.0就提供了多种认证的方式。目前版本为6.0rest
2004年12月,CAS转成JASIG(Java Administration Special Interesting Group)的一个项目,项目也随着更名为 JASIG CAS,这就是为何如今有些CAS的连接仍是有jasig的字样。code
2012年,JASIG跟Sakai基金会合并,更名为Apereo基金会,全部CAS也随着更名为Apereo CAS. htm
看起来这娃也不容易,嫁鸡随鸡,名字都改了3次了。
关于Apereo CAS能不能用的结论这里先不下,等到后面介绍安装部署集成的文章写完再一块儿看看。 此次咱们先看看Apereo CAS官网出的一幅图,这张图片介绍了Apereo的组成以及支持的各类协议,各类特性,不烦看看