|
华能集团下某发电厂的企业网站(基于Asp.Net2.0实现,不允许修改源程序)要求实现“厂内用户可直接访问整个站点的所有页面,厂外用户只能访问指定的页面”的功能,本文将按照需求分析、方案设计、编码实现、部署应用的顺序逐步阐述整个解决方案的形成过程。 1. 需求分析 通过深入的交流和沟通,确认了该发电厂在企业网站用户访问控制方面的改进要求,大致情况如下: a) 网站基于Asp.Net2.0实现,不允许修改源程序 b) 厂内用户可直接访问整个站点的所有页面,员工不需要身份验证 c) 厂外用户只能访问指定的页面 显而易见,他们就是针对企业网站增加一项IP过滤功能,在厂外用户访问某些敏感页面时将其拒之门外。首先我们需要设置一个IP列表和一个Url列表,前者包含所有厂内IP,后者包含厂外用户可访问的全部Url,并且这两个列表都是可维护的;另外一个核心问题是,我们需要选择一个合理的方式将开发好的功能模块集成到企业网站中,HttpModules义不容辞。 在Asp.Net时代,IIS 接收到请求并将其调度给 aspnet_isapi.dll之后,ASP.NET 引擎开始逐个对已配置的HTTP模块(HttpModules)进行初始化,然后再调用正确的HTTP处理程序并呈现被请求的资源,最后将所生成的标记返回给 IIS 和请求客户端(如下图所示)。
IIS 和 ASP.NET 正在处理请求 如果你想了解更多关于HttpModules的资料,请自行查阅。 2. 方案设计 2.1. 开发环境 编程语言:C#2.0 开发工具:Visual Studio.NET2008 操作系统:windows2003 R2 2.2. 概要设计 使用HttpModules实现IP过滤功能的核心思想是:自定义一个HttpModule捕获每一个用户请求,然后获取相关的用户IP和被请求的Url进行逻辑判断,将未授权的请求重定向到一个错误提示页。Http请求授权与否的判断逻辑为: 1) 判断请求是否来自本地计算机,是则自动忽略,否则继续; 2) 判断用户IP是否属于内网(IP列表),是则忽略,否则继续; 3) 判断被请求Url是否授权所有用户访问,是则忽略,否则继续; 4) 将请求重定向到错误提示页。 |
![]()
![]()
Java 开发工具 | 无盘资料 | 显卡行情 | IIS相关 | 网站安全论文 | PageMaker | Ghost | 网络设备评测 | IMail Server | 操作系统 | 冲浪网赚 | 影音工具 | 视频处理 | FreeBSD | 服务器安全技术 | 台式电脑导购 | DHCP教程 | Nero | MSN | MCDBA | 系统清理 | 电子商务考试 | 备份恢复 | VC/C++ | JDBC/JDO | 图像设计 | 办公打印新闻 | Windows Server 2003 | Jvm技术 | ASP脚本注入
• Phontol.com 和网页作者无关,不对网页的内容负责。
• 非本站原创内容和本站转载内容,其版权所有权属于原版权持有人所有。
• 本站转载的部分内容是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。
• 如有任何异议,请参见版权声明/免责声明部分。
• 盛大百度挤入电子书市场
• 美国提出10年内基本普及百兆宽带互联网蓝图
• .com域名诞生25周年:每月新增66.8万个
• 宏达电向Verizon提供CDMA版NexusOne
• 植入CMMB芯片个人电脑预计6月在重庆上市
• TD-SCDMA网络让“无线城市”梦想成真
• ipone和android手机或遭重病毒
• 光速WiFi三年内可商用
• 操盘指南:3月16日大陆内存走势报告
• 苹果升级Safari浏览器增加一系列安全补丁
• 微软Excel补丁出错导致英文界面变中文
• 微软将为Symbian测试版提供银光软件
• 诺基亚:Symbian3操作系统拥有多点触控功能
• 欧盟12项行动保障物联网发展
• 三网融合取得新突破CMMB探索与PC终端融合
• ICANN掌门贝克斯托姆煽动性言论遭谴责