0

我有一个需要编写文本文件的 Intranet 应用程序。该文本文件需要存在于网络共享文件夹中。我通过 UNC 名称“\\fileserver\subfolder\TEST.txt”访问它,当然我遇到了可怕的“访问路径被拒绝”错误。

我的 Intranet 网站在 IIS 6 上运行。我在 Intranet 上有另一个应用程序需要能够使用 Request.ServerVariables["AUTH_USER"] 访问已登录用户的帐户。我发现如果我启用对该站点的匿名访问,这将不起作用。我正在使用集成的 Windows 身份验证。如何为 Web 应用程序启用对我的网络共享文件夹的写访问权限?我想我不能在不破坏我的其他应用程序的情况下使用模拟。我可以对我的网站的这一部分(文件夹)做一些不会影响我的其他应用程序的事情吗?

我需要一步一步地在 IIS 和/或我要写入的网络文件夹的文件夹设置上执行操作以使其正常工作。

4

1 回答 1

0

有点黑客行为是模拟写入文件的代码部分。即您切换到有足够权限写入文件的用户。

有一个小的Impersonator帮助类,您可以使用它来执行此操作,例如:

... 
using ( new Impersonator( "myUsername", "myDomainname", "myPassword" ) )
{
   ...

   <code that executes under the new context>

   ...
}

...

这种方法的缺点是你必须在某个地方存储用户名和密码,要么硬编码在你的代码中,要么在你的 web.config 文件中。从安全的角度来看,这两件事都可能很糟糕。

于 2012-04-16T19:47:37.123 回答