2009-10-16 101 views

回答

4

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

我建议你在inetmgr中检查你的应用程序池在哪个用户下运行(在Identity标签下)。尝试使用可以访问该共享的域帐户。

enter image description here

1

“一把手”时,文件访问请求被简单地发出该帐户必须是缺乏凭据来访问共享/资源发现在UNC位置。

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

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

1

解决方案保存在asp.net的模拟和授权功能下。有一些构造提供基于令牌的安全方案来调用file.copy操作,例如目标是UNC位置。你可以检查它here