簡體   English   中英

使用IUSR而不是應用程序池標識的ASP.NET Web服務

[英]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.

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