我有一个需要编写文本文件的Intranet应用程序。该文本文件需要存在于网络共享文件夹中。我通过UNC名称“\\ fileserver \ subfolder \ TEST.txt”访问它,当然我遇到了可怕的“访问路径被拒绝”错误。
我的Intranet网站正在IIS 6上运行。我在Intranet上有另一个应用程序需要能够使用Request.ServerVariables [“AUTH_USER”]访问登录用户的帐户。我发现如果我启用对网站的匿名访问,这将无效。我正在使用集成的Windows身份验证。如何为Web应用程序启用对网络共享文件夹的写访问权限?我想我不能在没有破坏我的其他应用程序的情况下使用模拟。我可以对我的网站的这部分(文件夹)做些什么不会影响我的其他应用程序吗?
我需要一步一步地在IIS中做什么和/或我正在尝试写入的网络文件夹的文件夹设置以使其工作。
答案 0 :(得分:0)
有点像黑客会模仿写入文件的代码部分。即切换到具有足够权限写入文件的用户。
您可以使用小Impersonator
helper class来执行此操作,例如:
...
using ( new Impersonator( "myUsername", "myDomainname", "myPassword" ) )
{
...
<code that executes under the new context>
...
}
...
这种方法的缺点是你必须存储用户名和密码,要么在你的代码中硬编码,要么在例如你的web.config文件。从安全角度来看,这两件事情都可能很糟糕。