簡體   English   中英

IIS 7.5集成身份驗證NTFS文件夾權限,沒有模擬

[英]IIS 7.5 Integrated Authentication NTFS Folder Permissions without Impersonation

這是我之前見過的許多類似的問題,但我還沒有找到一個明確的答案,所以我將在這里嘗試非常具體,以避免重復。

我們在2008R2上運行IIS7.5, 打開了Windows身份驗證(沒有匿名),沒有模擬。 存在為應用程序池用戶指定的網絡帳戶。

當我檢查當前正在執行的頁面的WindowsIdentity.GetCurrent()時,我會根據我們的配置獲得預期的(App-pool)用戶。

http://www.mikeobrien.net/blog/identities-for-different-iis7/

這很符合預期。 但是,似乎正在根據經過身份驗證的用戶的身份檢查我們的應用程序上的NTFS文件夾權限。

這似乎與我發現的大多數文檔相矛盾。 以上鏈接以及

http://msdn.microsoft.com/en-us/library/kwzs111e(v=vs.100).aspx

http://msdn.microsoft.com/en-us/library/3yfs7yc7(v=vs.100).aspx

http://msdn.microsoft.com/en-us/library/gg703322%28v=vs.98%29.aspx

當.Net清楚地表明正在播放的WindowsIdentity是App-Pool的那個時,IIS如何在文件夾ACL中檢查經過身份驗證的用戶的身份?

到目前為止,我唯一的理論是文件授權模塊自動與集成身份驗證一起使用,它明確地檢查了這一點......但它似乎仍然違背了記錄的期望。

http://msdn.microsoft.com/en-us/library/gg703322%28v=vs.98%29.aspx

例如,這篇文章似乎記錄了這兩個期望。

啟用Windows身份驗證但禁用模擬后,ASP.NET將使用從瀏覽器發送的憑據在文件授權模塊中執行文件訪問檢查。 不需要啟用模擬,因為FileAuthorizationModule模塊確保允許請求用戶對資源進行讀訪問或寫訪問,具體取決於執行請求之前的請求謂詞(例如,GET或POST)。

接下來幾行

沒有模擬的Windows身份驗證。 這是默認設置。 ASP.NET通過使用應用程序的進程標識來執行操作和訪問資源,默認情況下,該進程標識是Windows 7和Windows 2008 R2上的應用程序池標識。 有關更多信息,請參閱應用程序池標識。

帶模擬的Windows身份驗證。 使用此方法,Web應用程序模擬經過身份驗證的用戶,並使用該標識執行操作和訪問本地資源。 將應用程序配置為模擬時,已通過身份驗證的用戶的模擬令牌將附加到Web請求線程。 因此,使用調用方的標識執行所有本地資源訪問。

我的問題:

執行文件系統ACL檢查時應使用什么標識? (我的理解是當模擬=關閉時App-Pool)以及哪些設置可能會影響在模仿之外使用哪個身份?

這與這個問題非常相似:

具有Windows身份驗證的IIS 7.5 Web應用程序是否要求最終用戶具有文件權限?

這個問題的明確答案並未解決我的擔憂。 不應要求授權“經過身份驗證的用戶”組,因為所使用的身份不應依賴於被授權的最終用戶集。 我的問題更具體,哪個身份以及如何控制?

“IIS 7.5中的新功能

IIS 7.5將authenticatedUserOverride屬性添加到元素,該元素配置IIS 7服務器運行時是否將在IHttpUser :: GetPrimaryToken和IHttpUser :: GetImpersonationToken方法中提供經過身份驗證的用戶身份或工作進程標識。 此屬性可以設置為UseAuthenticatedUser或UseWorkerProcessUser,這些值分別指定IIS 7服務器運行時是否將為使用模擬的任何模塊提供經過身份驗證的用戶的標識或工作進程標識。

資源

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM