SSO简单介绍
之前在登陆学校的图书馆网站的时候,发现有点不习惯了,原来是每次输入网址的时候,页面被重定向到另一个网址,后面图书馆的网址上前面加了一个“service=”。刚开始不知道这是什么东西,就是感觉很不好,因为这样非常慢!后来想起来公司的项目进度管理的网站也是采取了这样的方式,只是原首页被定向到一个网址为“https://sso....."的网站。这次组里有个新项目,老大让我看一个sso的东西,才发现原来这东西叫SSO。终于觉悟了,后来自己配了一下有了稍深的了解。好吧,前序就到这里。
那什么是SSO呢?英文全称是Single Sign On,翻译过来就是单点登录的意思。是在项目中身份管理的一种方式。一种通俗的定义是指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用中的受保护资源时,不再需要重新登录验证。就像是大家去景点游玩,你购买的通票,似乎好理解了。
使用SSO有哪些好处?一是方便用户,因为用户使用系统时只需要登录一次,就可以在全系统中“畅通无阻”,因此省去很多输入用户名密码的操作,体验很好!二是方便管理员了,系统管理员只需要维护一套统一的用户账号便可,简单省力。三是简化系统的开发,因为可以直接使用这个认证方式,简化开发流程。
实现SSO的技术很多有:基于cookies实现;基于经纪人;基于代理人;基于令牌;基于网关;基于安全断言标记语言(SAML)。
如果要实现SSO,则所有应用系统需要共享一个身份认证系统,认证系统主要功能是将用户的登录信息和用户信息库比较,对用户进行身份认证;认证成功后系统应该生成统一的认证标志(ticket),返还给用户。这个ticket具有时效性,而且能被所有应用系统识别和提取,应用系统提取后还需要与认证系统校验,证明ticket具有效用,能自动判断用户是否已经登录。
对于这个单一的登录认证点,我们称之为SSO Entry,想使用SSO认证需要使用SSO API来验证,SSO系统中有个权限信息库,业务系统须与之通讯。