Iis

Windows Server 2012 R2 和 IIS 8.5 中的 ASP.NET 帳戶發生了什麼變化?

  • June 16, 2020

我第一次嘗試在 IIS 8.5 和 Windows Server 2012 R2 上設置 ASP.NET MVC 3 應用程序。此應用程序使用 Active Directory 和 Windows 身份驗證進行權限管理。在 IIS 6 上,我必須授予機器 ASP.NET(在伺服器上)對我的日誌文件夾的修改權限,以便它可以寫入它。目前,我在此系統上沒有看到 ASP.NET 電腦帳戶。我已授予機器上 NETWORK SERVICE 帳戶的修改權限,但應用程序似乎沒有寫入日誌文件。請注意,這是一個本地日誌文件;它不是 IIS 的一部分。

我確定解決方案可能是我需要翻轉的一些簡單開關,但我已經跟踪了幾個小時,不確定發生了什麼。有人有想法嗎?

我已確保安裝了以下伺服器角色和功能:

應用程序開發

  • .Net 可擴展性 3.5

  • 項目清單

  • 網路可擴展性 4.5

  • 應用程序初始化

  • ASP

  • ASP.NET 3.5

  • ASP.NET 4.5

  • ISAPI 擴展

  • .NET Framework 3.5 功能

  • .NET Framework 4.5 功能

    • ASP.NET 4.5
    • WCF 服務

伺服器角色 - 安全

  • 基本認證
  • 網址授權
  • Windows 身份驗證

IIS 7+ 使用一個內置的稱為 IIS_IUSRS 的組,這與 IIS 安裝添加的 IIS6 使用者/組不同。這允許 ACL 可以在伺服器之間傳輸。

如果您使用帶有自定義帳戶的 AppPool,請將其添加到 IIS_IUSRS 組。如果您使用預設帳戶,請使用 IIS_IUSRS 組對您的文件夾進行 ACL。

來自官方文件

IIS 7 及更高版本還簡化了配置應用程序池標識的過程,並使所有必要的更改變得更容易。當 IIS 啟動一個工作程序時,它需要創建一個該程序將使用的令牌。創建此令牌時,IIS 會在執行時自動將 IIS_IUSRS 成員身份添加到工作程序令牌。作為“應用程序池標識”執行的帳戶不再需要成為 IIS_IUSRS 組的顯式部分。此更改可幫助您以更少的障礙設置系統,並使您的整體體驗更加有利。

因此看起來只需 ACL IIS_IUSRS 組就足夠了,無需將執行 AppPool 的實際身份添加到組本身

引用自:https://serverfault.com/questions/605866