Windows
在 .NET 應用程序上通過 Windows 身份驗證 - 網站文件夾是否需要讀取權限?
我正在嘗試讓傳遞 Windows 身份驗證適用於 .NET 應用程序。
它在 IIS7 上以經典模式執行,在 IIS 中的身份驗證設置下,我啟用了Windows 身份驗證並禁用了其他所有功能(包括匿名身份驗證)。
要開始,在 web.config 中我只需要:
<authentication mode="Windows" /> <authorization> <allow users="*" /> </authorization>
據我了解,這意味著網站程序應該以應用程序池的身份執行。使用者使用其 Windows 身份登錄。
我發現只有對網站文件夾具有讀取權限的使用者才能訪問該網站。為什麼是這樣?我認為因為該程序正在使用應用程序池的身份,所以使用者擁有什麼憑據並不重要。
我做錯了什麼或誤解了什麼?
在應用程序池中執行的任何程式碼都將使用該身份而不是經過身份驗證的使用者的身份執行,但 IIS 伺服器將使用傳遞的身份驗證來驗證使用者是否確實有權訪問從目錄提供的文件並設置新文件的所有權由該使用者創建。
但是,通過例如.net 程式碼進行的任何後端數據庫訪問都將發生在應用程序池下。