统一认证 - Apereo CAS 简介

为何要作这个尝试?

微服之道,方兴未艾;农之来学者,盖已千者! 这句是从《陶山集·太学案问》瞎改出来的。意思就是微服务的架构理念还在不断地发展,如今整个啥都 言必出微服务,差点都到了 没学过微服务的码农不是一个好码农。搞到微服务这个词都快跟区块链差很少臭了。html

在将臭未臭以前,咱们赶忙把其中的统一认证这块过一下。安全

在微服务的概念中,巴不得每个API都起一个独立的微服务,全部一个系统有几十个,甚至成百上千个独立的微服务也不见怪。 而安全又是每个服务都必须面对的问题!若是让每个微服务都独立处理的话,那Martin Fowler估计早就被码农拉去祭天了。因此统一认证大势所趋,将安全有关的认证与受权集中到一个服务中进行处理,各个微服务只需简单校验便可,无需另起炉灶!服务器

统一认证的开源实现有不少,目前比较出名的有Apereo CAS (发音为 /kæ's/),Keycloak等,咱们尽可能都介绍到,今天先看一下Apereo CAS

什么是Apereo CAS

首先CAS是Central Authentication Service的首字母缩写,Apereo CAS 是由耶鲁大学实验室2002年出的一个开源的统一认证服务。架构

据官网介绍,Apereo CAS是一个开源的企业级单点登陆系统,包括了以下特性:微服务

  • 基于SpringBoot开发的Java系统
  • 一个开放且各类手册齐全的协议
  • 以可插拔的形式支持各类认证协议(LDAP, database, X.509, 2-factor)
  • 支持各类认证协议(CAS, SAML, OAuth, OpenID)
  • 各类客户端应有尽有(Java, .Net, PHP, Perl, Apache, uPortal)
  • 跟各类 不大出名 的系统集成 (uPortal, BlueSocket, TikiWiki, Mule, Liferay, Moodle)
  • 社区文档大把,有问题就吹街

Apereo CAS的架构与组成

码农上手一个新东西,第一时间还不赶忙把它的架构搂两眼
图片描述

从这个图能够看到,Apereo CAS主要组成就两大组件,一个服务器端,还有各类语言的客户端。区块链

应用程序经过CAS的客户端,拦截校验用户请求是否经过认证,若是还没有认证,则重定向到CAS服务端的用户登陆页面进行登陆,登陆成功后,会生成一个ticket给回应用程序,下次用户请求带着这个ticket就所向无阻。spa

Apereo CAS的历史

前面说了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的组成以及支持的各类协议,各类特性,不烦看看

图片描述

相关文章
相关标签/搜索