使用自定义 HttpModule 订阅 Begin、Error 和 End 请求事件时应用程序池停止

问题描述 投票:0回答:1

我在 IIS 版本 (10.0.19) 中托管了一个 aspx 应用程序,并将应用程序池标识配置为自定义用户。用户的凭据正确。该应用程序似乎正在运行。直到我引入了一个新的 HttpModule 来从 HttpApplication 对象订阅 BeginRequest 和 Error 事件。现在应用程序池突然停止并出现错误:

应用程序池SampleAppPool标识无效。为身份指定的用户名或密码可能不正确,或者用户可能没有批量登录权限。如果身份不正确,当应用程序池收到第一个请求时,应用程序池将被禁用。 如果批量登录权限导致问题,则必须在授予权限后更改 IIS 配置存储中的标识,然后 Windows Process Activation Service (WAS) 才能重试登录。如果在处理第一个应用程序池请求后身份仍然无效,则应用程序池将被禁用。数据字段包含错误号。

这是否意味着托管应用程序和订阅 ASP.NET HTTP 处理事件有不同的权限?

asp.net iis application-pool httpmodule applicationpoolidentity
1个回答
0
投票

如果您将应用程序池身份设置为自定义帐户,则必须确保将此用户添加到

IIS_USRS
组才能使其正常工作。

要将特定用户(自定义帐户)添加到 IIS_USRS 组:

  1. 单击

    Start
    Administrative Tools
    Computer Management

  2. 在左侧窗格中,展开

    Local Users and Groups

  3. 选择

    Groups
    ,然后双击
    IIS_USRS

  4. 添加您之前为流程模型身份指定的自定义用户。

  5. 停止并重新启动 Web 服务。

更多详细信息,请参阅此文档:事件 ID 5021 — IIS 应用程序池可用性

© www.soinside.com 2019 - 2024. All rights reserved.