论文部分内容阅读
伴随着电子商务化和办公信息化的迅猛发展,越来越多的公司已经建立了大量具有特别用途的信息系统。这些应用系统在给人们的工作和生活带来方便的同时也要求用必须记住不同应用系统的用户名、密码等信息,因此提出了单点登录的概念。目前常用的Web单点登录协议是SAML协议。但是这种协议要获得成功有一个关键的问题需要解决:如何使得已有的Web应用系统与单点登录系统进行集成。Web应用系统所使用的身份鉴别协议通常是HTTP身份鉴别协议,有时也会用到Form身份鉴别方式。本文主要的解决就是运行在ⅡS上的Web应用系统与基于SAML协议的单点登录系统的集成问题。针对上述提出的单点登录的集成问题,基于ISAPI接口开发了面向ⅡS服务器的插件,该插件通过对HTTP请求和响应头部及内容的处理实现了单点登录系统与Web应用系统的集成。在这种服务器插件的作用下,Web运行平台的身份鉴别机制仍然按其原有的方式运行和发挥作用。本文设计实现的服务器插件分为两种:面向HTTP身份鉴别协议的插件和面向Form身份鉴别方式的插件。面向HTTP身份鉴别协议的插件只需对HTTP请求和响应头部进行处理,所以只用到了ISAPI过滤器。此时作为服务器插件的ISAPI过滤器主要完成的任务有:拦截HTTP请求头部并对请求头部进行相关处理(如添加认证头部);拦截HTTP响应头部,并对响应头部进行相应处理(如外部重定向、设置Cookie信息等)。面向Form身份鉴别方式的插件不但要对HTTP请求和响应头部了进行处理,还要对以POST方式提交的body体进行修改,所以这个插件使用ISAPI过滤器和通配符应用程序。ISAPI过滤器仍然是拦截HTTP请求和响应头部,对其进行处理;通配符应用程序主要完成对body体的修改。通过对以上两种插件的实现解决了运行在ⅡS服务器上的Web应用系统与基于SAML协议的单点登录系统的集成问题。本文成功的解决了目前单点登录应用中最复杂、最难解决的问题:在不改变原有应用系统的身份鉴别的前提下完成应用系统与单点登录的集成问题。