Bookmark and Share

Lee's 程序人生

HTML CSS Javascript XML AJAX ATLAS C# C++ 数据结构 软件工程 设计模式 asp.net Java 数字图象处理 Sql 数据库
  博客园  :: 首页  :: 新随笔  :: 联系 :: 管理

网站通行证方案-单点登录SSO

Posted on 2007-08-09 08:45  analyzer  阅读(999)  评论(1编辑  收藏  举报

记得曾经网站通行证开发是很热门的话题,最近正好有了解到相关的, 和大家谈谈我所了解的单点登录是怎么实现的。

单点登录即几个不同网站(CP应用)只要在一个地方登录就在所有其它网站同时登录了。首先我们要一个SSO站点来统一登录。

访问一个 CP网站需要登录页面流程应该是这样的:

用户点击一个需要登录页面

CP网站判断本站是否已经有认证信息(如检查cookie) ,有认证信息用户可以访问页面,没有认证信息跳转到SSO站点检查认证信息页面(url带上成功后返回页面URL:returnUrl)

SSO站点检查是否有认证信息,有认证信息转到returnUrl,并带上sessionId。没有则转到SSO登录页面进行登录直到用户登录成功后转到returnUrl,并带上sessionId。

这里回到CP网站需要登录页面(returnUrl),这里URL带有sessionId,直接通过SSO提供的认证信息读取接口取到并在本CP上登录(程序自动实现)。则用户可以访问页面。

也就是说登录都是在SSO站点进行的,即使CP网站上有登录框提交目标页也是SSO的登录页面。SSO还需要提供一个检查认证信息页的URL,一个通过sessionId取认证信息的接口(可以使用SOAP协议)。

CP需要实现的就是本身认证检查程序, 通过sessionId取用户信息的程序。

我要啦免费统计