1.什么是单点登录?
单点登录是指在多个应用系统中只需要统一对用户身份认证一次,就可以在各个系统访问,核心特征有两个,一个是集中统一认证,第二个特点就是适用于多系统的分布式环境--如果就一个应用程序这样折腾就没有任何意义了
2.为什么要做单点登录?
现在的企业中可能部署着多套应用程序,如有ERP系统,该系统有自己的用户名认证系统,还有个人力资源管理系统,也有自己的用户名和认证系统,一个企业中这样的应用还有很多,所以就不得不记住N多用户名,N多密码,要命的是,登录了ERP,想再去用人力资源关系系统,对不起,您得输入人力资源系统的用户名和密码才行。从这个简单的例子上已经看到一些问题了--有没有一种解决方案,然我只需要输入一次用户名和密码,然后就能在这些系统中使用了呢?--这个可以有,这就是单点登录SSO(Single Sign On)。
认证流程:
SSO的核心特征已经介绍过了,所有对应用系统的请求都统一交给CAS服务进行认证,见图
3.怎样实现单点登录?
上面的图已经描述了一些,简单的讲主要有两点,一点是集中认证,通过认证后该CAS会为当前请求颁发一个ticket--类似JSesionID的东东,这个东东提供了CAS服务器和各个业务系统之间进行验证的凭证,因此要求各个业务系统也必须可以解析获取该ticket信息