当前位置: 首页 > news >正文

asp.net预定义的HttpModule

在asp.net中,已经预定义了很多HttpModule,甚至在服务器的网站配置文件中进行了注册,我们可以通过系统文件夹C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config中,找到web.config,可以在其中找到14个HttpModule。如下所示:

<httpModules>
  <!--完成asp.net的输出缓存管理工作,OutputCacheModule的配置参数通过system.web配置元素的caching子元素的outputcache元素进行定义,当启用输出缓存后,
  OutputCacheModule将注册HttpApplication的ResolveRequestCache和UpdateRequestCache两个事件,完成输出缓存的管理-->
  <add name="OutputCache" type="System.Web.Caching.OutputCacheModule" />
  <!--完成session的管理工作,这个Module的配置参数通过配置文件中的system.web配置元素的sessionState子元素进行配置。当启用Session状态管理之后,
  SessionStateModule将注册HttpApplication的AcquireRequestState,ReleaseRequestState,EndRequest三个事件完成Session状态管理-->
  <add name="Session" type="System.Web.SessionState.SessionStateModule" />
  <!--WindowsAuthenticationModule,FormsAuthenticationModule,PassportAuthenticationModule用来完成用户的的验证工作。
  他们通过在配置文件中system.web的子元素authentication子元素定义,mode属性用来指定网站当前使用的验证方式。也就是哪一个Module将被用来完成验证工作。
  在启用验证的情况下,FormsAuthenticationModule和PassportAuthenticationModule将注册HttpApplication的AuthenticateRequest和EndRequest事件进行用户的验证处理。
  WindowsAuthenticationModule将注册AuthenticateRequest事件处理。 -->
  <add name="WindowsAuthentication" type="System.Web.Security.WindowsAuthenticationModule" />
  <add name="FormsAuthentication" type="System.Web.Security.FormsAuthenticationModule" />
  <add name="PassportAuthentication" type="System.Web.Security.PassportAuthenticationModule" />
  <!--RoleManagerModule,UrlAuthorizationModule,FileAuthorizationModule用来用户的授权管理,授权管理的配置参数来自system.web的authorization子元素。
  UrlAuthorizationModule和FileAuthorizationModule注册了HttpApplication的AuthorizeRequest事件处理,用来检查url和文件的访问权限。
  RoleManagerModule在url和文件访问授权检查通过之后,通过用户的标识和角色来完成用户的授权检查,RoleManagerModule注册了HttpApplication的PostAuthenticateRequest和EndRequest事件处理。-->
  <add name="RoleManager" type="System.Web.Security.RoleManagerModule" />
  <add name="UrlAuthorization" type="System.Web.Security.UrlAuthorizationModule" />
  <add name="FileAuthorization" type="System.Web.Security.FileAuthorizationModule" />
  <!--提供匿名用户的标识,是否启用匿名用户标识在配置文件的system.web配置元素的子元素anonymousIdentification中定义,还可以配置匿名标识的管理方式。
  由于在AuthenticateRequest事件中将验证用户,获取用户名,所以这个Module注册了PostAuthenticateRequest的事件处理,当用户没有经过验证的时候,为用户分配一个唯一的匿名标识。-->
  <add name="AnonymousIdentification" type="System.Web.Security.AnonymousIdentificationModule" />
  <!--在.NET 2.0之后,提供个性化数据管理。这是一个自定义的类似Session的会话状态管理,但是个性化数据的读取和保存可以由程序员完全控制,并且提供了强类型的数据访问方式,
  这个Module的配置参数在system.web的子元素profile中进行说明。当启用这个个性化数据管理之后,Module将注册HttpApplication的AcquireRequestState和EndRequest事件处理。-->
  <add name="Profile" type="System.Web.Profile.ProfileModule" />
  <add name="ErrorHandlerModule" type="System.Web.Mobile.ErrorHandlerModule, System.Web.Mobile, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
  <add name="ServiceModel" type="System.ServiceModel.Activation.HttpModule, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
  <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" />
  <add name="ScriptModule-4.0" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>

相关文章:

  • 20160309高项作业
  • nginx服务器绑定域名和设置根目录的方法
  • 不懂编程的运维人员到底还能走多远?
  • 经典SQL语句大全(数据开发篇)
  • 【Linux】一张图让你读懂Linux内核运行原理
  • nginx负载均衡实现tomcat集群
  • LeetCode-187. Repeated DNA Sequences
  • 有趣的玩意儿
  • 【直播回顾】21天搭建推荐系统:帮你减少90%代码量
  • 最少换乘 之简化版
  • Nginx(四):LNMMP架构实现Web动静分离
  • JNI 调用,C++ invoke C# dll return to java(见git代码)
  • [1204 寻找子串位置] 解题报告
  • PostgreSQL Analyze分区表:主表与子表的统计信息问题
  • UI初级 Label
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • 【笔记】你不知道的JS读书笔记——Promise
  • 4. 路由到控制器 - Laravel从零开始教程
  • axios 和 cookie 的那些事
  • Flex布局到底解决了什么问题
  • Js基础知识(四) - js运行原理与机制
  • js作用域和this的理解
  • KMP算法及优化
  • LeetCode18.四数之和 JavaScript
  • mockjs让前端开发独立于后端
  • React 快速上手 - 07 前端路由 react-router
  • React-Native - 收藏集 - 掘金
  • Sequelize 中文文档 v4 - Getting started - 入门
  • Vue2.x学习三:事件处理生命周期钩子
  • 多线程事务回滚
  • 给新手的新浪微博 SDK 集成教程【一】
  • 离散点最小(凸)包围边界查找
  • 浏览器缓存机制分析
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 听说你叫Java(二)–Servlet请求
  • 我建了一个叫Hello World的项目
  • 写代码的正确姿势
  • 正则学习笔记
  • 通过调用文摘列表API获取文摘
  • #pragma once与条件编译
  • #我与Java虚拟机的故事#连载05:Java虚拟机的修炼之道
  • (1)常见O(n^2)排序算法解析
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (AngularJS)Angular 控制器之间通信初探
  • (day 12)JavaScript学习笔记(数组3)
  • (Java岗)秋招打卡!一本学历拿下美团、阿里、快手、米哈游offer
  • (定时器/计数器)中断系统(详解与使用)
  • (动态规划)5. 最长回文子串 java解决
  • (十六)一篇文章学会Java的常用API
  • (译) 理解 Elixir 中的宏 Macro, 第四部分:深入化
  • .htaccess配置常用技巧
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .net on S60 ---- Net60 1.1发布 支持VS2008以及新的特性
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?