在WCF服务中模拟特定用户的问题

时间:2009-10-27 03:33:18

标签: wcf iis windows-server-2008 impersonation

我在WCF IIS上托管了WindowsServer 2008服务。此服务需要写入另一台计算机(Windows XP)上的共享文件夹。共享文件夹具有对特定用户的写入权限,例如“X”,其存在于运行服务的服务器上的两台机器上,以及存在共享文件夹的机器上。

该服务在NETWORK SERVICE帐户下运行。对于访问共享文件夹的服务,我添加了代码来模拟服务中的用户“X”,以便它获得写入共享文件夹的权限。

因为我只想在运行特定代码段时模拟用户“X”,所以我使用了样本code

即使在模拟之后,服务有时也无法写入共享文件夹。它零星地工作。

然而,如果我在Web.config文件中添加标签,那么它的效果非常好。

<identity impersonate="true" userName="accountname" password="password" />

但是上述内容并不可取,因为它会模拟特定用户的所有请求。我只需要在运行特定代码段时模拟特定用户。

此外,当共享文件夹存在于另一个WindowsServer 2008时,模拟代码可以正常工作。

有人能告诉我这里出了什么问题。

1 个答案:

答案 0 :(得分:-1)

阅读这篇文章:

http://www.west-wind.com/weblog/posts/1572.aspx

您可以随处应用