[英]Why setting app pool identity as Network Service for asp.net web application?
[英]ASP.NET web service using IUSR, not Application Pool Identity
這個問題似乎與此類似: IIS站點未使用在應用程序池IIS 7 +中指定的身份。但是,那里沒有答案。
底部有一個tl; dr。
請記住,我不是設置服務器的人,因此他們可能已經更改了一些我不知道的設置。
我們有一個在IIS 7上運行的ASP.NET Web服務。該Web服務設置為使用DefaultAppPool,而應用程序池的Identity設置為域用戶(假設它是“ localdomain \\ user1”)。
Web服務無法保存到某個網絡文件夾,因此我們授予了localdomain \\ user1對該文件夾的讀/寫權限。 但是,它仍然無法保存在那里。
我無法進行遠程調試,並且它在我自己的計算機上運行良好(可能是因為它在Visual Studio的IIS Express中運行,並且我的用戶確實具有訪問權限),因此我嘗試更改Web服務,以便錯誤消息中包含用戶名它正在運行。
如果我使用Environment.UserName
來獲取它,則結果為“ IUSR”。 如果我使用System.Security.Principal.WindowsIdentity.GetCurrent().Name
,它將返回“ NT AUTHORITY \\ IUSR”。
除非上述方法不可靠,否則該Web服務似乎在默認用戶(IUSR)下運行,而不是在其應用程序池中的一個下運行。 我不知道為什么,有人可以解釋嗎?
編輯:服務器上的任務管理器,如果我使用RDP登錄,則表明w3wp.exe進程正在由user1運行。 我不確定該相信哪一個。
謝謝。
tl; dr :Web服務的應用程序池設置為域用戶,但是無論如何它似乎都在IUSR下運行。 我該如何預防?
假冒是問題所在。 我不知道這是Web服務的web.config中的設置。
將<identity impersonate="true"/>
更改為<identity impersonate="false"/>
,使其可以作為localdomain \\ user1運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.