SSO
单点登录( Single Sign-On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,用户只需要 登录一次 就可以访问所有相互信任的应用系统。
认证与授权的区别
在介绍具体协议之前,有必要先说明“认证(Authentication)”和“授权(Authorization)”的区别。
- 认证(Authentication)即确认该用户的身份是他所声明的那个人;
- 授权(Authorization)即根据用户身份授予他访问特定资源的权限。
也就是说,当用户登录应用系统时,系统需要先认证用户身份,然后依据用户身份再进行授权。认证与授权需要联合使用,才能让用户真正登入并使用应用系统。
单点登录协议对比 CAS、OAuth、OIDC(OpenID Connect)、SAML
开源解决方案
- 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等客户端
- spring-authorization-server
- zlt-uaa
- xxl-sso
- [microservices-platform]
参考: