IIS 模块概述
由 IIS 团队撰写,迈克·沃洛达尔斯基 兼容性 版本 备注 IIS 7.0 及更高版本 本文中介绍的功能是在 IIS 7.0 中引入的。 IIS 6.0 及更早版本 在 IIS 7.0
由 IIS 团队撰写,迈克·沃洛达尔斯基
兼容性
版本
备注
IIS 7.0 及更高版本
本文中介绍的功能是在 IIS 7.0 中引入的。
IIS 6.0 及更早版本
在 IIS 7.0 之前,本文中所述的功能不受支持。
介绍
IIS 7 及更高版本的 Web 服务器功能集已组件化为 30 多个独立模块。
模块可以是 Win32 DLL(本机模块)或包含在程序集中的 .NET 2.0 类型(托管模块)。 与一组构建基块类似,模块会添加到服务器,以便为应用程序提供所需的功能。 同样,可以删除所有 IIS 模块,或者替换为使用 IIS C++ API 开发的自定义模块,或熟悉的 ASP.NET 2.0 API。
本文介绍常见的 IIS 模块管理任务,并详细介绍了每个模块,包括其配置设置以及模块删除对 Web 服务器的潜在影响。 使用图形 IIS 管理器和 AppCmd 命令行工具提供管理示例。
先决条件
若要执行本文档中的步骤,最好是安装 IIS。
注释
并非所有版本的 Windows 都支持所有可用的 IIS 功能。 若要查看操作系统上支持 IIS 的功能,需要查阅随 Windows 版本一起提供的文档。
在 Windows Vista、Windows 7、Windows 8、Windows 10 或 Windows 11 上执行 IIS 的完整安装
单击“ 开始 ”,然后单击 “控制面板”。
在 控制面板中,单击“ 程序”。
在 “程序和功能”下,单击“ 打开或关闭 Windows 功能”。
在 “Windows 功能 ”对话框中,展开 Internet Information Services 并选择所有功能。
可能需要展开某些类别以选择该类别中的所有功能。
单击 “确定” 。
在 Windows Server 2008/R2、Windows Server 2012/R2 或 Windows Server 2016 上执行 IIS 的完全安装
打开服务器管理器>角色并选择“Web 服务器”(IIS)。
检查 Web 服务器下的所有功能。
模块入门
若要将模块添加到服务器,必须执行两个步骤:
在服务器上安装模块(仅限本机模块)。
在应用程序中启用模块。
第一步将模块全局注册到服务器,使其在每个服务器工作进程中可用。 仅由于本机代码的受信任性质,本机模块才是必需的,并且仅适用于管理员。
注释
本机模块对服务器工作进程可用的任何资源的访问权限不受限制,就像以前版本中的 ISAPI 筛选器或扩展一样。 由于这种不受限制的访问,应仅安装来自受信任源的原生模块。
第二步使模块能够在特定应用程序中执行,并有效地允许应用程序管理员控制为应用程序启用的服务器功能。 此步骤允许为每个应用程序启用已安装的本机模块和托管模块。
安装原生模块
若要安装本机模块,必须使用以下选项之一向服务器注册它:
手动编辑 IIS 配置存储。 在 IIS 7.5 及更高版本中,可以在 IIS 管理器中使用配置编辑器。
使用 IIS 管理器
使用 AppCmd.exe 命令行工具
这三个选项都会导致模块条目添加到
安装完整的 IIS 后,本部分包含 IIS 随附的每个本机模块的条目,并指定模块 DLL 的名称和路径:
...
本文档稍后将详细介绍所有这些模块。
卸载本机模块
如果该模块不再在服务器上使用,或者想要将其替换为另一个模块,则可以卸载本机模块。 使用下列选项之一从
手动编辑 IIS 配置存储库。 在 IIS 7.5 及更高版本中,可以使用配置编辑器。
使用 IIS 管理器
使用 AppCmd.exe 命令行工具
注释
<由于 globalModules> 配置部分只能在服务器级别设置,因此你必须是管理员才能卸载模块。
为应用程序启用模块
必须先启用模块,然后才能为特定应用程序提供服务。 若要启用本机模块,必须先在服务器上安装它(请参阅上一部分, 若要安装本机模块)。
托管模块不需要安装,可以直接为每个应用程序启用。 这样,应用程序就可以在应用程序的 web.config 文件中注册托管模块,并在 /BIN 或 /App_Code 目录中提供实现,直接将其包含在应用程序中。
若要启用模块,请执行以下操作之一:
手动编辑 IIS 配置存储,全局为服务器上的所有应用程序启用模块,或者在要为其启用此模块的每个应用程序中的特定 web.config 文件中启用该模块。 在 IIS 7.5 或更高版本中,可以使用配置编辑器。
使用 IIS 管理器
使用 AppCmd.exe 命令行工具
这三个选项将模块条目
与本机模块不同,托管模块不需要在 globalModules 配置部分中添加条目。
安装完整的 IIS 后,配置部分包含 IIS 附带的每个模块(托管模块和本机模块)的条目。 该条目指示默认情况下为服务器上的所有应用程序启用所有这些模块。 本节中的每个条目指定以前安装在服务器上的本机模块的名称,或托管模块的名称和 .NET 类型:
...
在应用程序中禁用模块
如果应用程序中不再使用该模块,或者想要将其替换为另一个模块,请禁用该模块。 若要禁用模块,请从
在应用程序中手动编辑
使用 IIS 管理器。
使用 AppCmd.exe 命令行工具。
从应用程序中删除模块后,该模块将不会在该应用程序中处于活动状态。 但是,如果模块是本机模块,它仍将加载到服务器工作进程中,并且可由未删除它的其他应用程序使用。
注释
如果安装了 ASP.NET,则默认解锁配置节。 此默认解锁允许应用程序禁用已在全球范围内启用的本机模块和托管模块,并添加新的托管模块。 此配置部分可以在服务器级别锁定,以防止完全修改,或者防止管理员根据需要删除特定模块条目。
前提 条件
模块条目上有另一个名为前置条件的属性。 IIS 核心引擎使用前置条件来确定何时启用特定模块。 例如,性能原因可能确定你只想对也转到托管处理程序的请求执行托管模块。 以下示例中的前置条件(precondition=“managedHandler”)仅对托管处理程序处理的请求(如对.aspx或 .asmx 文件的请求)启用表单身份验证模块:
如果删除属性前置条件=“managedHandler”,则 Forms 身份验证也适用于未由托管处理程序提供的内容,例如 .html、.jpg、.doc,但也适用于经典 ASP(.asp)或 PHP(.php) 扩展。 有关启用 ASP.NET 模块为所有内容运行的示例,请参阅“如何利用 IIS 集成管道”。
您还可以使用快捷方式在应用程序中的所有请求上启用所有托管(ASP.NET)模块,无论"managedHandler"前置条件如何。 若要使所有托管模块都能够针对所有请求运行,而无需配置每个模块条目以删除“managedHandler”前置条件,请在相关节中使用属性。
使用此属性时,“managedHandler”前置条件不起作用,所有托管模块都针对所有请求运行。
使用 IIS 管理器查询、添加和删除模块
IIS 管理器提供了一种简单的方法来查询、添加或删除模块。
若要打开 IIS 管理器,请单击“开始”,在搜索框中键入 inetmgr,然后按 Enter。
单击 IIS 服务器的计算机名称。
单击 IIS 类别中的“模块”图标。
图 1:IIS 管理器
管理特定应用程序的已启用模块
使用左侧的树视图连接到该应用程序。
导航到“模块”功能窗格。
单击“ 添加托管模块 ”,将托管模块添加到应用程序。
Add Native Module 仅允许添加已在服务器级别注册的模块。
要从应用程序中删除模块,请按照下面的步骤操作。
单击列表中的模块。
“删除”任务显示在左窗格中。
单击 “删除” 。
图 2:IIS 管理器中的模块列表
从命令行管理模块
若要从命令行或脚本模块管理任务快速管理模块,请使用 AppCmd.exe 命令行工具。
使用 AppCmd.exe 安装模块
在命令提示符处,键入以下命令,将斜体中的值替换为计算机上的模块的值。
Appcmd.exe install module /name:MODULE_NAME /image:PATH_TO_DLL
注释
安装本地模块时,会自动在服务器级别启用它。
例如,以下命令安装默认文档模块。
%windir%\system32\inetsrv\appcmd.exe install module /name:DefaultDocumentModule /image:%windir%\system32\inetsrv\defdoc.dll
如果在已加载模块的计算机上运行该命令,则会收到如下所示的错误消息:
ERROR (message:无法添加重复的集合元素“DefaultDocumentModule”。)
使用 AppCmd.exe 卸载模块
在命令提示符处,键入以下命令,将斜体中的值替换为计算机上的模块的值。
Appcmd.exe uninstall module MODULE_NAME
注释
卸载组件会在服务器上自动将其禁用。
例如,以下命令卸载默认文档模块。 此命令仅作为示例提供。 只应在测试服务器上运行它。
%windir%\system32\inetsrv\appcmd.exe uninstall module DefaultDocumentModule
列出为特定应用程序或全局启用的模块
在命令提示符处,键入以下命令,将斜体文本中的值替换为计算机上的模块的值。
Appcmd.exe list modules [/app.name:APPLICATION_NAME]
例如,以下命令列出了为默认网站启用的模块。
%windir%\system32\inetsrv\appcmd.exe list modules /app.name:"Default Web Site"
此命令将列出全局安装的模块。
%windir%\system32\inetsrv\appcmd.exe list modules
为特定应用程序或全局启用模块
在命令提示符处,键入以下命令,将斜体文本中的值替换为计算机上的模块的值。
Appcmd.exe add module /name:MODULE_NAME /type:MGD_TYPE
例如,以下命令将 Forms 身份验证模块添加到默认网站。
%windir%\system32\inetsrv\appcmd.exe add module /name:FormsAuthentication /type:System.Web.Security.FormsAuthenticationModule /app.name:"Default Web Site"
此命令全局添加 Forms 身份验证模块。
%windir%\system32\inetsrv\appcmd.exe add module /name:FormsAuthentication /type:System.Web.Security.FormsAuthenticationModule
可以针对特定应用程序或在全局范围内禁用模块
在命令提示符处,键入以下命令,将斜体文本中的值替换为计算机上的模块的值。
Appcmd.exe delete module MODULE_NAME [/app.name:APPLICATION_NAME]
例如,以下命令从默认 Web 网站中删除窗体身份验证模块。
%windir%\system32\inetsrv\appcmd.exe delete module FormsAuthentication /app.name:"Default Web Site"
此命令在全局范围内删除窗体身份验证模块。
%windir%\system32\inetsrv\appcmd.exe delete module FormsAuthentication
获取有关 App Cmd.exe 每个命令语法的更多帮助
若要显示 Module 对象支持的命令,请键入以下命令:
Appcmd.exe module /?
若要显示每个命令的用法,请键入以下命令:
Appcmd.exe install module /?Appcmd add module /?
模块参考
IIS 服务器已准备好进行自定义。 请仔细阅读以下列表,以避免副作用、功能丢失或删除安全功能。
实用工具模块
这些模块不提供请求服务,而是协助服务器引擎执行其内部操作。
模块名称:
UriCacheModule
描述:
实现特定于 URL 的服务器状态的通用缓存,例如配置。 在此模块中,服务器仅读取特定 URL 的第一个请求的配置,并在后续请求中重复使用该配置,直到其更改为止。
配置部分:
没有。
依赖关系:
没有。
删除此模块时的潜在问题
由于为每次请求的每个 URL 进行状态缓存和检索,造成性能损失。
模块名称:
FileCacheModule
描述:
缓存服务器引擎与模块所打开文件的文件句柄。
配置部分:
没有。
依赖关系:
没有。
删除此模块时的潜在问题
性能损失。 如果未缓存文件句柄,则必须为每个请求打开文件。
模块名称:
TokenCacheModule
描述:
缓存基于密码的身份验证方案的 Windows 安全令牌(匿名身份验证、基本身份验证、IIS 客户端证书身份验证)。
配置部分:
没有。
依赖关系:
没有。
删除此模块时的潜在问题
性能损失。 用户必须登录以处理每个请求,如果未缓存令牌。 可能会对性能造成重大影响。 例如,如果一个受密码保护的 HTML 页面引用了 50 个同样受保护的图像,那么会导致 51 次 logonUser 函数对本地帐户数据库的调用,更糟糕的是对非本地域控制器的调用,导致性能问题。
模块名称:
ManagedEngine
描述:
托管引擎在所有其他模块之中都有一个特殊的位置。 它负责提供 IIS 集成以与 ASP.NET 运行时挂钩。
配置部分:
依赖关系:
没有。
删除此模块时的潜在问题
ASP.NET 集成将被禁用。 在应用程序池以集成模式运行时,不会调用在
模块名称:
HttpCacheModule
描述:
HttpCacheModule 实现 IIS 输出缓存,以及用于缓存 http.sys 缓存中的项的逻辑。 通过配置设置缓存大小、输出缓存配置文件等。
配置部分:
System.webServer/caching
依赖关系:
没有。
删除此模块时的潜在问题
内容将不再缓存在内核模式下。 将忽略缓存配置文件。 删除 HttpCacheModule 可能会对性能和资源使用情况产生负面影响。
模块名称:
DynamicCompressionModule
描述:
实现动态内容的内存中压缩。
配置部分:
system.webServer/httpCompression 和 system.webServer/urlCompression。
依赖关系:
不会有任何依赖项,因为默认情况下会关闭动态压缩。
模块名称:
StaticCompressionModule
描述:
在内存中和文件系统中(以持久存储方式)实现静态内容的压缩。
配置部分:
system.webServer/httpCompression 和 system.webServer/urlCompression
依赖关系:
没有。
删除此模块时的潜在问题
由于将未压缩的内容发送回客户端,可能导致带宽饱和。
模块名称:
DefaultDocumentModule
描述:
实现默认文档功能。 带有尾随/的请求将重新路由到默认文档列表中的文档。
配置部分:
system.webServer/defaultDocument
依赖关系:
没有。
删除此模块时的潜在问题
例如 http://localhost/,对 /的请求返回 404 错误。 如果启用了 directoryBrowsing,则会生成目录列表。
模块名称:
DirectoryListingModule
描述:
实现目录浏览功能。
配置部分:
system.webServer/directoryBrowse
依赖关系:
没有。
删除此模块时的潜在问题
如果默认文档模块和 directoryListing 模块均未处理 /的请求,则返回空响应。
模块名称:
ProtocolSupportModule
描述:
实现自定义和重定向响应标头。 实现 TRACE 和 OPTIONS HTTP 方法。 通过配置实现启用或禁用保持连接支持的功能。
配置部分:
system.webServer/httpProtocol
依赖关系:
没有。
删除此模块时的潜在问题
TRACE 或 OPTIONS 请求返回“405 方法不允许”错误消息。
模块名称:
HttpRedirectionModule
描述:
实现重定向功能。
配置部分:
system.webServer/httpRedirect
依赖关系:
没有。
删除此模块时的潜在问题
如果资源受到重定向保护,则可能存在安全问题。 删除重定向模块后,内容将再次变为可访问。
模块名称:
ServerSideIncludeModule
描述:
实现服务器端包容功能。 此模块映射为处理程序,仅针对以 .stm、.shtm 和 .shtml 结尾的请求执行。
配置部分:
system.webServer/serverSideInclude
依赖关系:
没有。
删除此模块时的潜在问题
静态文件模块处理.stm、.shtm 和 .shtml 文件。 如果此模块有用于这些扩展的 mimeMap,则文件将作为文本提供。 但是,请注意,这不是默认值。
模块名称:
StaticFileModule
描述:
发送扩展名为 .html、.jpg的静态文件,以及其他许多文件。 staticContent/mimeMap 配置集合确定文件扩展名列表。
配置部分:
system.webServer/staticContent
依赖关系:
没有。
删除此模块时的潜在问题
静态文件不再被服务器提供。 文件请求返回 404 未找到(Not Found)错误,这表明没有匹配的处理程序。
模块名称:
AnonymousAuthenticationModule
描述:
实现匿名身份验证。 如果 URL 配置为允许匿名身份验证,则此模块将生成 HttpUser 对象。
配置部分:
system.webServer/security/authentication/anonymousAuthentication
依赖关系:
没有。
删除此模块时的潜在问题
必须至少配置一个身份验证模块。 IIS 服务器核心会在身份验证阶段后检查是否填充了 HttpUser 对象。 HttpUser 对象是 IIS 数据结构。 如果 HttpUser 对象没有被身份验证填充,则会生成错误码 401.2。
模块名称:
证书映射身份验证模块
描述:
将 SSL 客户端证书映射到 Active Directory 帐户(Active Directory 证书映射)。
配置部分:
system.webServer/security/authentication/clientCertificateMappingAuthentication
依赖关系:
必须为此模块配置 SSL 才能正常工作。 IIS 计算机还必须是 Active Directory 域的成员。
删除此模块时的潜在问题
如果 Active Directory 证书映射用于保护目录,则通常允许请求;在这种情况下,将删除该模块。
模块名称:
BasicAuthenticationModule
描述:
实现 RFC 2617 中所述的 HTTP 基本身份验证。
配置部分:
system.webServer/security/authentication/basicAuthentication
依赖关系:
没有。
删除此模块时的潜在问题
必须至少配置一个身份验证模块。 IIS 服务器核心会在身份验证阶段后检查是否填充了 HttpUser 对象。 HttpUser 对象是 IIS 数据结构。 如果身份验证没有应用于 HttpUser 对象,则会生成 401.2 错误。
模块名称:
WindowsAuthenticationModule
描述:
实现 Windows 身份验证(NTLM 或协商(Kerberos))。
配置部分:
system.webServer/security/authentication/windowsAuthentication
依赖关系:
没有。
删除此模块时的潜在问题
必须至少配置一个身份验证模块。 IIS 服务器核心会在身份验证阶段后检查是否填充了 HttpUser 对象。 HttpUser 对象是 IIS 数据结构。 如果没有填充 HttpUser 对象的身份验证,则会生成 401.2 错误。
模块名称:
DigestAuthenticationModule
描述:
实现 RFC 2617 中所述的摘要式身份验证。
配置部分:
system.webServer/security/authentication/digestAuthentication
依赖关系:
IIS 服务器必须是 Active Directory 域的一部分。
删除此模块时的潜在问题
必须至少配置一个身份验证模块。 IIS 服务器核心会在身份验证阶段后检查是否填充了 HttpUser 对象。 HttpUser 对象是 IIS 数据结构。 如果没有填入 HttpUser 对象的身份验证,则会导致生成 401.2 错误。
模块名称:
IISCertificateMappingAuthenticationModule
描述:
实现 IIS 证书映射。 将 SSL 客户端证书映射到 Windows 帐户。 与 Active Directory 证书映射相反,用户凭据和映射规则存储在 IIS 配置存储中
配置部分:
system.webServer/iisClientCertificateMappingAuthentication
依赖关系:
要使此模块正常工作,必须配置 SSL 以接收客户端证书。
删除此模块时的潜在问题
必须至少配置一个身份验证模块。 IIS 服务器核心会在身份验证阶段后检查是否填充了 HttpUser 对象。 HttpUser 对象是 IIS 数据结构。 如果身份验证没有应用于 HttpUser 对象,则会生成 401.2 错误。
模块名称:
UrlAuthorizationModule
描述:
根据配置规则实现授权。
配置部分:
system.webServer/security/authorization
依赖关系:
没有。
删除此模块时的潜在问题
不再对受保护内容进行授权规则的评估。 本来应该被保护的内容可能会被提供。
模块名称:
IsapiModule
描述:
实现 ISAPI 扩展功能。
配置部分:
system.webServer/isapiCgiRestriction
依赖关系:
没有。
删除此模块时的潜在问题
在
模块名称:
IsapiFilterModule
描述:
实现 ISAPI 筛选器功能。
配置部分:
system.webServer/isapiFilters
依赖关系:
没有。
删除此模块时的潜在问题
ISAPI 筛选器经常实现应用程序所依赖的功能。 示例包括 ASP.NET 或 SharePoint。 例如,ASP.NET 需要 aspnet_filter.dll 来保护敏感内容并重写 URL。 删除此模块可防止 IIS 加载 ISAPI 筛选器。 应用程序可能会停止工作或敏感内容可能会公开。
模块名称:
IpRestrictionModule
描述:
基于客户端请求的 IPv4 地址实现授权方案。
配置部分:
system.webServer/security/ipSecurity
依赖关系:
必须安装 IPv4 堆栈。
删除此模块时的潜在问题
允许 IP 安全列表中有 IP 地址的客户端。
模块名称:
RequestFilteringModule
描述:
实施一组功能强大的安全规则,这些规则在非常早期拒绝可疑请求。 此模块是 ISAPI 筛选器的后续版本,UrlScan.DLL为 IIS 5.0 和 6.0 提供。
配置部分:
system.webServer/security/requestFiltering
依赖关系:
没有。
删除此模块时的潜在问题
如果删除此模块,则 requestFiltering 节中指定的规则不再适用。 潜在的安全问题可能导致风险。
模块名称:
CustomLoggingModule
描述:
在 IIS 顶部实现 ILogPlugin 接口。 ILogPlugin 是以前的 COM 实现,允许客户扩展 IIS 日志记录。 不建议使用此接口扩展 IIS。 相反,客户应编写模块并订阅RQ_LOG_REQUEST通知。
配置部分:
system.webServer/httpLogging 和 system.applicationhost/sites/site/logFile/customLogPluginClsid
依赖关系:
没有。
删除此模块时的潜在问题
将不再调用自定义日志插件。 例如,ODBC 日志记录作为 ILogPlugin 实现。
模块名称:
CustomErrorModule
描述:
实现自定义错误和 IIS 详细错误功能。
配置部分:
system.webServer/httpErrors
依赖关系:
没有。
删除此模块时的潜在问题
当核心服务器内出现错误时,IIS 将返回空白页,其中包含最少的信息。 远程用户可能会看到来自服务器组件的详细错误信息,这可能会导致信息泄露。
模块名称:
HttpLoggingModule
描述:
通过告知HTTP.SYS要记录的内容来实现标准的 IIS 日志记录。
配置部分:
system.applicationHost/log 和 system.webServer/httpLogging
依赖关系:
没有。
删除此模块时的潜在问题
标准 IIS 日志记录将不再有效。
模块名称:
失败请求跟踪模块
描述:
实现对失败请求的跟踪。 通过配置定义和设置失败请求的规则。
配置部分:
system.webServer/tracing 和 system.webServer/httpTracing
依赖关系:
没有。
删除此模块时的潜在问题
跟踪 http 请求将不再有效。
模块名称:
RequestMonitorModule
描述:
实现 IIS 运行时状态和控制接口(RSCA)。 RSCA 允许用户查询运行时信息,例如当前正在执行请求、网站启动/停止状态或当前正在执行应用程序域。
配置部分:
没有。
依赖关系:
没有。
删除此模块时的潜在问题
工具无法枚举当前正在执行的请求。
模块名称:
CgiModule
描述:
在 IIS 的基础上实现 CGI。
配置部分:
system.webServer/cgi 和 system.webServer/isapiCgiRestriction
依赖关系:
没有。
删除此模块时的潜在问题
CGI 程序将停止工作。
模块名称:
TracingModule
描述:
实现 ETW 跟踪。
配置章节:
system.webServer/httpTracing
依赖关系:
没有。
删除此模块时的潜在问题
如果删除此模块,ETW 跟踪将不起作用。
模块名称:
ConfigurationValidationModule
描述:
验证是否已将 ASP.NET 应用程序配置迁移到集成模式下工作。
配置部分:
system.webServer/Validation
依赖关系:
没有。
删除此模块时的潜在问题
为模块和处理程序指定旧 ASP.NET 配置的应用程序不会生成迁移错误;尚未迁移的新应用程序将无法正常运行。
托管模块:
模块名称:
OutputCache
描述:
实现 ASP.NET 输出缓存功能。
配置部分:
system.web/caching/outputCache
依赖关系:
必须安装 ManagedEngine 模块。
删除此模块时的潜在问题
ASP.NET 无法将缓存响应输出到配置为输出缓存的页面。
模块名称:
会期
描述:
有关详细信息,请参阅 ASP.NET 2.0 文档
配置部分:
system.web/sessionState
依赖关系:
必须安装 ManagedEngine 模块
删除此模块时的潜在问题
托管会话状态不可用。
模块名称:
Windows身份验证
描述:
有关详细信息,请参阅 ASP.NET 2.0 文档。
配置部分:
system.web/authentication
依赖关系:
必须安装 ManagedEngine 模块
删除此模块时的潜在问题
不会引发 WindowsAuthentication.OnAuthenticate 事件,这可能会阻止某些自定义 ASP.NET 身份验证代码运行。 另外,在 UNC 共享(旧版 ASP.NET 行为)时,经过身份验证的用户不会被替换为 UNC 用户。 此模块不会影响在集成模式下 ASP.NET 应用程序的 NTLM/Kerberos 身份验证,并且除了在 WindowsAuthentication.OnAuthenticate 事件和旧版 UNC 行为中之外,该模块不是必需的。
模块名称:
FormsAuthentication
描述:
有关详细信息,请参阅 ASP.NET 2.0 文档。
配置部分:
system.web/authentication
依赖关系:
必须安装 ManagedEngine 模块
删除此模块时的潜在问题
ASP.NET 基于表单的身份验证功能将不可用,导致具有表单身份验证票证的客户端无法访问受保护的资源。
模块名称:
DefaultAuthentication
描述:
有关详细信息,请参阅 ASP.NET 2.0 文档。
配置部分:
system.web/authentication
依赖关系:
必须安装 ManagedEngine 模块
删除此模块时的潜在问题
如果 ASP.NET 身份验证模式为 Forms,某些 ASP.NET 功能可能无法用于匿名请求。 此外,不会引发 DefaultAuthentication.OnAuthenticate 事件。
模块名称:
RoleManager
描述:
有关详细信息,请参阅 ASP.NET 2.0 文档。
配置部分:
没有。
依赖关系:
必须安装 ManagedEngine 模块。
删除此模块时的潜在问题
角色管理器功能不可用。
模块名称:
UrlAuthorization
描述:
有关详细信息,请参阅 ASP.NET 2.0 文档。 本机 UrlAuthorization 模块在本机代码中实现 URL 授权功能。 这为托管 URL 授权模块提供了可扩展且快速的本地替代方法。
配置部分:
system.web/authorization。
依赖关系:
必须安装 ManagedEngine 模块。
删除此模块时的潜在问题
ASP.NET 授权规则将被忽略,可能会导致信息泄露和其他安全泄露。
模块名称:
AnonymousIdentification
描述:
有关详细信息,请参阅 ASP.NET 2.0 文档。
配置部分:
依赖关系:
必须安装 ManagedEngine 模块。
删除此模块时的潜在问题
ASP.NET 配置文件使用的匿名标识功能将不起作用。
模块名称:
个人资料
描述:
有关详细信息,请参阅 ASP.NET 2.0 文档。
配置部分:
依赖关系:
必须安装 ManagedEngine 模块。
删除此模块时的潜在问题
ASP.NET 用户配置功能将无法工作。
模块名称:
UrlMappingsModule
描述:
有关详细信息,请参阅 ASP.NET 2.0 文档。
配置部分:
依赖关系:
必须安装 ManagedEngine 模块。
删除此模块时的潜在问题
ASP.NET URL 映射将不起作用。