如何从asp.net访问具有UNC路径的文件

时间:2009-10-16 06:56:26

标签: asp.net unc

当我从asp.net访问带有UNC文件路径的文件时,我发现了以下问题。登录失败:未知的用户名或密码错误。请帮助我。

3 个答案:

答案 0 :(得分:4)

问题可能不在于您尝试访问的路径的UNC性质,而是具有安全凭据。例如,如果您在系统帐户下运行asp.net应用程序,那么您将无法访问网络共享,因为系统是本地帐户(不是域帐户)。

我建议您在运行应用程序池的用户下检查inetmgr(在“标识”选项卡下)。尝试使用可以访问该共享的域帐户。

enter image description here

答案 1 :(得分:1)

发出文件访问请求时,“负责”帐户必须缺少凭据才能访问在UNC位置找到的共享/资源。

您首先需要确定哪个帐户有效使用,因为这可能会有所不同,并提供相关权限。默认情况下,大多数程序(包括.NET程序(在较小程度上))将在启动程序的帐户的安全上下文中运行,但是在许多情况下,例如,如果程序是各种服务,则这不成立。 ,或者如果它使用一些DCOM对象,或者冒充一些其他帐户等等......还有一个相对复杂的委托/假冒系统。

诊断此问题的一种方法是在UNC文件/目录级别添加审核。一旦失败,这将留下一个事件,该事件应显示试图访问该共享的帐户的登录名。

答案 2 :(得分:1)

解决方案是在asp.net的模拟和委派功能下进行的。某些构造提供基于令牌的安全方案来调用file.copy操作,例如目标是UNC位置。您可以查看here