繁体   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