IISconfiguration为集成Windows身份validation 。
web.config
configuration如下:
<authentication mode="Windows" /> <identity impersonate="true" />
我们在\ webserver1和\ webserver2之间进行负载平衡。
Windows Server 2003
\\ webserverX创build一个XML文件到\\ share1并且访问被拒绝。
通过允许Everyon访问共享,我们得到了通过拒绝访问…
我们希望让模拟的用户成为创build文件的所有者。 相反,\\ webserver1的计算机帐户是所有者。
我们如何确保模拟用户在创build时拥有文件的所有权?
PROGRESSION:
我决定在\\ webserver1的根目录本地创build文件。
即使impersonate =“true”,文件的所有权也是NETWORK SERVICES。
我无法更改C#代码中文件的所有权。
为什么在创build文件时,IIS不会使用模拟用户的写入权限? 如果真的这样做,我做错了什么?
好的人,
创build文件时使用的写入权限和所有权是ASP.NET, 本地帐户 !
用networkingAD帐户replace该帐户。
授予必要份额的该帐户的权限。
该帐户将是本地创build和远程创build的文件的所有者。
据我所知,在stream程级别的冒充是不可能的。
或者,您可以强制模拟使用固定的帐户,即:
<identity impersonate="true" userName="domain\user" password="password" />
这样你就不需要对你的IISconfiguration做任何改变。
看起来应用程序池的标识是用来创build文件的(默认为NETWORK SERVICE); 尝试改变,看看会发生什么。
也许这可以帮助你: http : //msdn.microsoft.com/en-us/library/ms998351.aspx 。