发明名称 一种Session ID全透明传递的ISAPI访问控制系统
摘要 本发明涉及一种具有Session全透明传递的ISAPI访问控制系统,它能在Web系统不参与、不修改以及不使用Cookie的情况下,实现用户Session维护及Session ID的传递,为部属在IIS服务器上的Web应用提供用户身份鉴别和访问控制功能。它包括四个组成部分:ISAPI访问控制过滤器,Session维护引擎,授权决策引擎,身份与权限管理系统。本发明成功解决了在ISAPI访问控制过滤器重写响应消息中的URL链接加入Session ID信息时所涉及的关键技术问题,如在过滤器回调函数间传递相关信息,正确地修改响应消息数据块中的长度指示等。
申请公布号 CN101247395B 申请公布日期 2011.03.16
申请号 CN200810047055.2 申请日期 2008.03.13
申请人 武汉理工大学;北京天威诚信电子商务服务有限公司 发明人 龙毅宏;张海松;唐志红;汪克炎
分类号 H04L29/06(2006.01)I;H04L29/08(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 武汉开元知识产权代理有限公司 42104 代理人 潘杰
主权项 一种Session ID全透明传递的ISAPI访问控制系统,它包括四个组成部分:ISAPI访问控制过滤器:负责进行访问控制的授权实施,当用户通过浏览器访问部署在IIS服务器上的Web应用系统时,该访问控制过滤器拦截HTTP请求和响应,进行用户身份鉴别、访问控制授权实施以及用户会话标识Session ID的传递;Session维护引擎:负责为每一个Web服务访问用户创建一个Session对象并产生相应Session ID,从身份与权限管理系统获取用户身份信息填充Session对象,将用户其他状态信息保存到Session对象,以及提供Session信息、身份信息的查询,删除超时不用的Session对象等;授权决策引擎:根据用户的身份和权限信息及资源访问控制策略,对用户访问资源的请求进行授权决策;身份与权限管理系统:保存、维护用户的身份信息、资源的访问控制策略,并提供用户身份信息及资源访问控制策略的查询服务;该系统按如下步骤实施访问控制功能:第一步骤:用户访问IIS服务器上部署的Web应用系统;第二步骤:ISAPI访问控制过滤器响应SF_NOTIFY_PREPROC_HEADERS事件通知,拦截HTTP请求头部,根据请求URL中是否包含有效的SessionID、身份鉴别信息以及当前URL指向,对用户类别进行判断,然后根据不同用户类别分别转入第三、第四或第五步骤;第三步骤:对未鉴别用户,即初次登录Web应用系统的用户,ISAPI访问控制过滤器首先请Session维护引擎创建用户Session对象并返回Session ID,接下来将用户HTTP请求重定向到登录页面,之后向拦截HTTP响应消息数据的ISAPI过滤器回调函数传送与Session ID传递有关的控制信息,然后退出;第四步骤:对等待鉴别用户,即未鉴别但正通过登录页面提交身份鉴别信息的用户,ISAPI访问控制过滤器转入用户身份鉴别处理,对于鉴别未通过的用户,则将其HTTP请求重定向到登录页面,之后向拦截HTTP响应消息数据的ISAPI过滤器回调函数传送与Session ID传递有关的控制信息,然后退出;对于鉴别通过的用户,继续后续步骤;第五步骤:对已鉴别用户,ISAPI访问控制过滤器请求授权决策引擎进行授权决策,请求中有用户Session ID、要访问的资源URL及访问方法;第六步骤:对于ISAPI访问控制过滤器提交的授权决策请求,授权决策引擎从Session维护引擎查询该用户是否是有效的已鉴别用户并获取所需的用户信息,然后根据用户身份、用户权限以及相应的访问控制策略,决定是否允许用户访问有关的资源,之后将授权决策结果返回给ISAPI访问控制过滤器;第七步骤:ISAPI访问控制过滤器依授权决策引擎的授权决策结果对用户HTTP请求进行访问控制授权实施,之后向拦截HTTP响应消息数据的ISAPI过滤器回调函数传送与Session ID传递有关的控制信息,然后退出;第八步骤:IIS服务器将ISAPI访问控制过滤器处理后的HTTP请求提交给Web应用系统,Web应用系统完成用户请求处理后返回响应结果;第九步骤:ISAPI访问控制过滤器响应每个SF_NOTIFY_SEND_RAW_DATA事件通知,依次拦截每个HTTP响应消息数据块,若拦截的是第一个响应消息数据块,即仅包含响应消息头部的数据块,则ISAPI访问控制过滤器设定与Session ID传递有关的控制信息;若拦截的是后续响应消息数据块,即响应消息主体数据块,ISAPI访问控制过滤器对块中所有指向本地的URL链接进行重写,加入用户Session ID信息,然后退出;第十步骤:应用服务系统完成响应结果发送后,ISAPI访问控制过滤器响应SF_NOTIFY_END_OF_NET_SESSION事件通知,不做任何处理,立即退出。
地址 430070 湖北省武汉市武昌珞狮路122号