手把手教你入门 Spring Boot + CAS 单点登录

  • Post author:
  • Post category:其他


1.什么是 CAS

CAS 全称叫做中央认证服务,英文是 Central Authentication Service。

这是由耶鲁大学发起的一个开源项目,目的是帮助 Web 应用系统构建一种可靠的单点登录解决方案,从目前企业实际项目来看,CAS 还是非常受欢迎的一种单点登录解决方案。

1.1 CAS 架构

CAS 分为两部分:

一个是 CAS Server,这是单点验证服务,作用类似于我们OAuth2+JWT 方案中的授权服务器,用来校验用户名/密码等,一般来说都是独立部署。

另一个则是 CAS Client,相当于就是一个一个的(微)服务。

我们来看 CAS 的官方给出的一个架构图:

图片

可以看到,用户访问的是 CAS Clients,CAS Clients 和 CAS Server 之间的通信支持多种协议,CAS Server 处理具体的认证事宜,CAS Server 对数据源的支持也非常多样化。

CAS Client 支持的平台有:

Apache httpd Server (mod_auth_cas module)

Java (Java CAS Client)

.NET (.NET CAS Client)

PHP (phpCAS)

Perl (PerlCAS)

Python (pycas)

Ruby (rubycas-client)

CAS 支持的通信协议有:

CAS (versions 1, 2, and 3)

SAML 1.1 and 2

OpenID Connect

OpenID

OAuth 2.0

WS Federation



版权声明:本文为Fightevery原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。