您的位置:首页 > 理论基础 > 计算机网络

菜鸟学习IHttpModule 接口笔记(一)

2011-09-02 15:36 393 查看
推荐文章:演练:创建和注册自定义 HTTP 模块

通过看以上文章在此做一个总结,方便以后继续深入了解。

在每个请求的“到来之前”和“完成之后”,.net 默认都会做一些事情,至于什么事情,暂时无法猜测,先留一个疑问吧!相信下面可以让你看出一些端倪。做过一段时间的.net程序员应该知道machine.config文件吧!就是因为有它的存在,所以你的程序在没有web.config文件的情况下也可以运行。

该文件的位置一般在C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG,下面我给出其中的一部分代码,如下:

<httpModules>
      <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />
      <add name="Session" type="System.Web.SessionState.SessionStateModule" />
      <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" />
      <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
      <add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationModule" />
      <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
      <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" />
      <add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
    </httpModules>


看到这些配置文件你会想到什么呢?是不是有一些些眼熟?

其实key为name的值对应的都是一些类名,除了OutputCache、Session这些特别熟悉的,再有就是WindowsAuthentication、FormsAuthentication、PassportAuthentication,相信这三个家伙你即使没有见过英文名字,应该也听说过他们的中文名字吧,他们就是webform里面著名的“表单的三种身份验证方式”,这下应该回忆起来了吧?

接着有“UrlAuthorization”——Url授权,msdn上查一下 UrlAuthorization 大概就知道是干什么的了,就是为用户访问服务器资源授权的,我们可以通过这种方式保护服务器上资源,对获取访问权限的用户提供资源,否则拒绝访问,如何实现:asp.net项目中通过Web.config配置文件及文件夹的访问权限!

这下大概知道这些所谓的“模块”是干什么的了吧?UrlAuthorization——在你请求之前,为你提供授权的功能;FormsAuthentication、WindowsAuthentication、PassportAuthentication——在你请求之前,分别为你提供不同身份验证的功能。

总结:说白了,这些模块就是为你提供某些功能的(自己可以扩展一下,既然可以提供一些功能,那么也可以直接把某些事情给做了——其实提供功能也是一些事情,呵呵!),至于为什么这些功能会被额外列出来我暂时还不明白;再有,就是这些模块是“并排”的,也就是说一个级别上的,这也就意味着你可以比较灵活的来定义“模块”来做一些事情而不影响其他模块工作。

想想“记住密码”功能是不是可以用这种方式实现呢?
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: