web.config中的ASP.NET模拟与使用自定义标识运行应用程序池

时间:2010-02-04 18:38:43

标签: asp.net-mvc permissions impersonation application-pool

好的,我正在使用ASP.NET MVC。我应该上传一个文件并将其写入网络共享。

当我尝试写入网络位置时,我收到“登录失败:未知用户名或密码错误。”

我通过冒充文件服务器帐户在我的计算机上解决了它,将其添加到web.config:

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

但是当我们在服务器上进行构建时,管理员建议在自定义标识下运行应用程序池,而不是我的解决方案(不要问为什么),理论上这将是同样的事情......但它不是,我们再次获得“登录失败”例外。

这两种方法之间的区别是什么,后来为什么不起作用?

提前致谢!

2 个答案:

答案 0 :(得分:0)

将应用程序池更改为在有权访问网络共享的帐户下运行,或者创建一个具有这些凭据的新应用程序池。

答案 1 :(得分:0)

您的系统管理员正在考虑安全问题。如果他创建一个IUSR账户(或类似的东西),那么他可以限制它看到的内容。作为开发人员,您的帐户可能拥有服务器和许多其他内容的权限,这些内容是您的MVC网站所不需要的。

因此,如果您将应用程序池设置为使用您的登录凭据,它可能会起作用,但如果该站点无法使用Sys Admin想要的帐户,那么他或她将不得不为该帐户授予一些权限到网络共享。