单点登录

Posted N神3

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单点登录相关的知识,希望对你有一定的参考价值。

一、完成一个简单的SSO单点登录的功能,需要两个部分的合作

统一的身份认证服务中心 -> 一个认证服务类

修改Web应用,使得每个应用都通过这个统一的认证服务来进行身份效验 -> 业务系统对每个访问进行拦截检查ticket(ticket是否已经单点登录过凭证)是否存在,存在发到认证中心校验是否正确。

 

二、步骤解析

1、认证服务中心负责生产ticket、验证ticket、销毁ticket。

2、业务系统通过过滤器拦截对每个请求进行拦截检查。判断系统是否已经登录或者是否其它业务系统进行过单点登录。

2.1判断系统是否已经登录:通过session是否为空 UserSession session = session.getAttribute("USERSESSION"); 不为空代表已经登陆过。 

2.2判断其它业务系统进行过单点登录:通过检查ticket是否为空,如果不为空将ticket送到认证中心校验是否正确。 

2.3如果用到session判断业务系统它们都有自己一套登陆入口程序。当然所有业务系统整合仅仅用单点登录为登陆入口程序也行。

3、ticket是单点登录凭证,保存在全局cookie提供给个业务系统读取。

 

三、疑问

1、认证中心是否只存在一个ticket?

2、如果ticket保存在全局cookie,那可以在自己系统内认证就行了,为什么要传到认证中心呢?

以上是关于单点登录的主要内容,如果未能解决你的问题,请参考以下文章

什么是单点登录?单点登录有什么优势?

CAS搭建单点登录Web端

单点登录 SSO

话说单点登录

php 怎么实现单点登录?

Web系统之常用单点登录协议