WCF使用什么用户编写?

时间:2014-12-22 16:17:11

标签: c# wcf io

我目前有一个WCF服务,允许客户端将图像上传到服务器。然后,该服务将该映像保存到服务器的C驱动器作为测试。这有效,但我很好奇为什么它的工作原理。

我的印象是该服务始终作为IIS用户执行,这意味着它将被执行时IIS用户拥有的任何权限所困扰。但是,我上传到C驱动器上的文件夹根本没有列出IIS用户的权限。唯一拥有该用户权限的文件夹是实际包含该服务的文件夹,即使只是该文件夹也只能阅读&执行。

所以我的问题是,当服务作为没有安全访问权限的用户运行时,服务如何能够写入服务器的C驱动器?

1 个答案:

答案 0 :(得分:2)

如果WCF服务托管在IIS中,那么实际代码不会在IUSR用户下运行,而是在您为此特定应用程序池设置的帐户下运行。

您可以轻松检查身份,只需设置最简单的ASPX网页并将其粘贴到页面文件中

<%@ Page Language="C#" %>

Current user: <%= System.Security.Principal.WindowsIdentity.GetCurrent().Name %>

http://www.wiktorzychla.com/2010/09/identity-of-application-pool-in-iis.html