什么是单点登录(SSO)?它有什么作用?

SSO的英文全称是Single Sign On ,中文就是单点登录。根据百度百科释义,单点登录(SSO)就是通过用户的一次性鉴别登录。

即,当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。这种方式减少了由登录产生的时间消耗,辅助了用户管理,是比较流行的。

举个简单的例子,比如,阿里系的淘宝、天猫,这是两个系统,但是用户在使用的时候,登录了天猫,淘宝也会自动登录。简单来说,单点登录就是在多个系统中,用户只需一次登录,各个系统即可感知该用户已经登录。

单点登录(SSO)之所以受欢迎,是因为请求访问某个资源的客户机可能需要执行多次登录。当受保护的资源位于后端Web 应用程序服务器上时,可能需要多次登录。可能 WebSEAL 服务器需要一次登录,而后端服务器也需要一次登录。用户每次登录都可能需要不同的登录身份,这就有点很麻烦了。

所以,对于管理和维护多个登录身份的问题,通常可以使用单点登录(SSO)解决方案进行解决。使用单点登录解决方案时,用户仅通过一次初始登录即可访问资源,无论该资源位于何处。任何来自后端服务器的针对用户的更多登录要求将以透明方式进行处理。

例如,企业中主要利用单点登录(SSO)高效连接用户与Web应用,从而减轻IT部门和终端用户的负担。其主要优势有:简化密码管理、加强用户访问权限管控、提高关键登录流程效率、提升安全性、减少密码疲劳(当个人被迫创建太多新凭证时,就会产生密码疲劳,为了更容易记住就写下密码然后重复使用旧密码,这样会增加企业信息安全风险)、减少技术服务需求,等等。

简而言之,单点登录(SSO)是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将某次主要的登录映射到其他应用中用于同一个用户的登录机制,是目前比较流行的企业业务整合的解决方案之一。

另外,需要注意的是:

要实现单点登录(SSO),首先要明白,单点登录(SSO)只做认证信息验证管理,不做用户授权处理,所以要实现用户授权,需要Redis(远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API)来将授权信息缓存;

实现单点登录(SSO),要进行https证书认证,单点登录(SSO)并不是只使用某个技术实现即可,它包含CA证书、客户端证书、服务器证书等一整套信息认证;

单点登录(SSO)实现后,则无需Web服务器对用户进行Session(即“会话控制”,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去)认证,无需集群中子系统进行单独用户认证,只需要单点登录(SSO)服务器统一认证管理即可。

文章来源:什么是单点登录(SSO)?它有什么作用? (baidu.com)