SSO

236 阅读1分钟

SSO

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

认证与授权的区别

在介绍具体协议之前,有必要先说明“认证(Authentication)”和“授权(Authorization)”的区别。

  • 认证(Authentication)即确认该用户的身份是他所声明的那个人;
  • 授权(Authorization)即根据用户身份授予他访问特定资源的权限。

也就是说,当用户登录应用系统时,系统需要先认证用户身份,然后依据用户身份再进行授权。认证与授权需要联合使用,才能让用户真正登入并使用应用系统。

单点登录协议对比 CAS、OAuth、OIDC(OpenID Connect)、SAML

协议对比

开源解决方案

  1. CAS 分为 1.0 版本和 2.0 版本。1.0 称为基础模式,2.0称为代理模式,适用于存在非 Web 应用之间的单点登录 具有以下的特点:
  • 开源的企业级单点登录解决方案
  • CAS Server为需要独立部署的web应用
  • CAS Client支持非常多的客户端(这里指单点登录系统中的各个web应用),包括 Java、.Net 、ISAPI、Php、Perl、uPortal、Acegi、Ruby、VBScript等客户端
  1. spring-authorization-server
  2. zlt-uaa
  3. xxl-sso
  4. [microservices-platform]

参考: