Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > .NET > C#.NET > 跨平台跨服务器跨网站SSO(单点登录)方案的DEMO
【标  题】:跨平台跨服务器跨网站SSO(单点登录)方案的DEMO
【关键字】:SSO,DEMO
【来  源】:http://www.cnblogs.com/lovecherry/archive/2006/10/11/526151.html

跨平台跨服务器跨网站SSO(单点登录)方案的DEMO

Your Ad Here

登录

1.       打开A网站进行登录;

2.       检测Login服务器是否可用;

3.       如果Login服务器可用,检测发现Login服务器Session未创建;

4.       重定向到A网站的页面,接受Login服务器传来的KeyUID组成的类序列化后的数据;

5.       得到的Key1,说明Login服务器Session未创建,在A网站创建Session,登录完成后使用<script>访问Login服务器上的页面创建Session并记录网站名和网站登出页面地址;

6.       打开B网站登录,发现没有登录,检测Login服务器是否可用;

7.       如果Login服务器可用,检测发现Login服务器Session已经创建并记录网站名和网站登出页面地址;

8.       重定向到B网站的页面,接受Login服务器传来的KeyUID组成的类序列化后的数据;

9.       得到的Key不是1,说明Login服务器Session已经创建,根据Key到数据库进行验证,验证通过后在B网站创建Session

登出

1.       每个网站都有登出按钮,点击按钮后先清空本地Session

2.       然后检测Login服务器是否可用;

3.       可用的话跳转到Login服务器的登出页面;

4.       根据Session中存储的已登录网站名和登出页面地址,生成<img>指向各个网站的登出页面;

5.       登出成功后登出页面显示图片(返回图片流),如果登出失败(页面不能访问)则显示本地登出失败图片。

 

特点

1.       Login服务器就算Down了各个网站也能分别登录和登出;

2.       巧妙使用临时GUID来做验证令牌;

3.       巧妙使用scriptimgsrc来访问登录登出页面创建和撤销Session

完整代码下载 

已经测试通过:
1、登录服务器和两个网站部署在三个服务器,同时登录同时退出
2、登录服务器关闭,两个网站都能各自登录和退出

注:Login和WebSiteTest分别是登录网站和测试网站。在测试的时候,WebSiteTest部署到2个服务器,Login部署到第三个服务器,注意修改WebsiteTest的web.config文件中的:
 <appSettings>
  <add key="RegLogin" value="http://pc-yzhu/login/default.aspx?key={0}logouturl={1}name={2}"/>
  <add key="LoginUrl" value="http://pc-yzhu/login/default.aspx?url={0}logouturl={1}name={2}"/>
  <add key="LogOutUrl" value="http://pc-ywgong/WebSite/LogOut.aspx"/>
  <add key="name" value="WebSite"/>
 </appSettings>

这个代码是测试代码,写的比较乱。如果有时间的话,我们会把所有的东西封装成自定义控件和类。

深入Atlas系列:Web Sevices Access in Atlas(3) - 服务器端支持(下):【上一篇】
XPath手册 [源于ZVON]:【下一篇】
【相关文章】
  • 逐行读写文本的Demo程序
  • 我的第一个 C++ 配合 XML以及GameMonkey脚本的DEMO程序
  • 跨平台跨服务器跨网站SSO(单点登录)的方案
  • gcc preprocessor
  • [原创] SSO(Single Sign-on) in Action(上篇)
  • Irissoft大空战1.2发布[原创]
  • Irissoft大空战I 1.0发布[原创]
  • Irissoft大空战I 1.1发布[原创]
  • ASP.NET Duwamish7 视频讲解 Demo 火热登场!
  • Irissoft复读机1.0预览版发布[原创]
  • 【随机文章】
  • 粒子系统应用--烟花模拟
  • 从数据库导出数据到word、excel、.txt
  • ORACLE PLSQL使用经验总结_5
  • VB.NET启动并监测外部程序
  • 城域以太网技术应用与实施(2)
  • C++的缺陷(1)——Stream的缺陷
  • 探索c++的函数pow()的实现方法·数学与程序设计的结合(绝对原创)
  • 建立一个网站需要多少启动资金?
  • “珍珠棉” 面膜不一样的面膜
  • torsmo-linux下与桌面相嵌的系统资源监视器
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.