快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

关于单点登陆的一些解决方式

 

最近CSDN中很多朋友都在讨论关于多系统单点登陆的问题。现在总结自己使用过的方法看看能否给朋友们增加一些思路。

在处理问题前先讨论下关于所谓的“多系统”的情况,按道理来说多系统会出现以下若干个情况:

1。使用的技术不相同,应用的平台不相同:如使用JSP和ASP。NET开发的,他们的应用平台都会不相同

2。所在的物理服务器不一致。未部署在同个服务器集群中。

3。使用的权限验证方法不相同,比如说有的使用SESSION,COOKIE,还有的使用STATE服务。

而“单点登入”要实现的目的是,在任何一个系统中登入都能对所有系统畅通无阻的访问。而要实现单点登陆的目的从大的方法来说可以分成3个方式:

1。登入时自动生成在所有系统的验证标志
本方式需要在各个子系统的登入页面放置于框架页面中,在框架的其他页面中隐藏其他子系统的登入页面,当点击“登陆”时触发JS事件把当前的用户名/密码提交到其他子系统的登陆页面中,并且一同提交。这样一次登入,其他所有系统也就登入了。
效率:这个方式几乎可以不要修改过多的代码,而且可以使用于所有的多系统情况,可以跨平台,跨服务器
缺点:登入完后,假如没有在各个子系统切换,那使用SESSION的子系统可能会发生登入超时现象。不过这个解决方式也简朴,只需要在其他自系统的包含文件(如copyRight)中用IFRAME的方法包含其他子系统的更新在线状态的页面,这样就可以持续保持状态。

2。登入时只生成本系统的验证标志,在转入其他系统中时,从httpContext中通过验证的标志中转化出当前系统需要的验证,当然这个必须在所有系统在同个WEB服务器,并且使用同种技术的前提下。

3。使用数据库来记录当前的在线信息,登入后就往数据库增加在线信息,并且存入客户端的能够体现其唯一性的信息(IP+机器名等)。
当某个系统要获取当前用户是否登入的信息时先判定该子系统的登入信息是否存在,假如不存在,则再判定状态数据库中是否存在当前客户端的在线信息。
效率:这个方式效率是比较高的,可以使用于所有的多系统情况,可以跨平台,跨服务器。
缺点:要深入修改各个程序的代码

先写这么多,再补充。


返回类别: 教程
上一教程: ASP 开发准则
下一教程: ASP系列讲座(九)设置对象作用域

您可以阅读与"关于单点登陆的一些解决方式"相关的教程:
· 有关页面登陆的一些设计
· ASP Error \'0115\'的一些解决办法
· 关于打印页面的一些经验
· 关于SESSION的一些技巧
· 关于IE缓存的解决方案
    微笑服务 优质保证 索取样品