一、定义
单点登录的英文名称为Single Sign-On,简写为SSO,它是一个用户认证的过程,SSO使得在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
IBM对SSO有一个形象的解释“单点登录、全网漫游”。
二、优点
SSO将一个企业内部所有域中的用户登录和用户帐号管理集中到一起,好处显而易见:
- 减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性
- 实现安全的同时避免了处理和保存多套系统用户的认证信息
- 减少了系统管理员增加、删除用户和修改用户权限的时间
- 增加了安全性:系统管理员有了更好的方法管理用户,包括可以通过直接禁止和删除用户来取消该用户对所有系统资源的访问权限
三、实现机制
单点登录的技术实现机制
用户第一次访问系统的时候,被引导到认证系统中进行登录,根据登录信息,认证系统进行身份校验,如果通过校验,返回给用户一个认证的凭据(ticket),用户再访问别的应用的时候,就会将ticket带上,作为自己认证的凭据,应用系统接受到请求后,会把这个ticket送到认证系统进行校验,检查ticket的合法性,如果通过校验,用户就可以不用再次登录访问其他应用系统了。
Cookie实现机制
SSO的实现机制不尽相同,大体分为Cookie机制和Session机制两大类。
由于后面我们讲的开源产品CAS采用的就是Cookie机制,所以在这里重点讲Cookie的实现机制。
如图所示,表示的是用Cookie机制实现的流程:
四、结束语
单点登录是目前比较流行的企业业务整合的解决方案之一,也是很多企业都在应用的一个技术,其中针对于Web应用系统的解决方法中比较好用的当属Yale大学开源的CAS项目,我会在下一篇博客中为大家具体讲解,欢迎大家提出宝贵意见!