C# 内部网应用程序最佳实践?ApplicationPoolIdentity与否?

C# 内部网应用程序最佳实践?ApplicationPoolIdentity与否?,c#,iis-7,C#,Iis 7,我有一个本地Intranet应用程序,它使用Directory.Exists和file.Exists进行一些文件验证。不幸的是,由于应用程序以“ApplicationPoolIdentity”运行,并且该帐户无权访问目录.Exists和文件.Exists正在检查的UNC路径,因此检查失败 我应该授予ApplicationPoolIdentity帐户读取这些目录的权限吗?(所有目录都显示在单个服务器的顶级文件夹下。)如果是,如何设置 或者,我应该在域帐户下运行应用程序池并授予该帐户权限吗?(如果我

我有一个本地Intranet应用程序,它使用Directory.Exists和file.Exists进行一些文件验证。不幸的是,由于应用程序以“ApplicationPoolIdentity”运行,并且该帐户无权访问目录.Exists和文件.Exists正在检查的UNC路径,因此检查失败

我应该授予ApplicationPoolIdentity帐户读取这些目录的权限吗?(所有目录都显示在单个服务器的顶级文件夹下。)如果是,如何设置

或者,我应该在域帐户下运行应用程序池并授予该帐户权限吗?(如果我确实需要创建一个新帐户,我应该授予它什么权限?)


谢谢你的意见

通常情况下,我会创建一个自定义帐户,但如果您想授予股票等的其他权利,我会说这是最好的选择

使用自定义标识创建一个新的AppPool,该标识具有对共享的相关访问权限。然后让应用程序在这个新的AppPool下运行。这样,您就可以拥有不需要访问不具有此访问权限的AppPool中的共享的其他应用程序

如果您使用的是Windows 7或Windows 2008 R2,您可能需要查看


这是一篇关于

主题的好文章,您需要为以下标识设置读取ACL:IIS AppPool\。您可以从“文件夹属性”对话框执行此操作(如果您的计算机位于域上,请确保在“选择用户或组”对话框中将位置设置为本地计算机)或者从命令行使用。

为什么您的应用程序需要检查外部目录和文件?因为此应用程序包含一个模块,我们的CAD部门可以将其数据文件登录并通过版本控制等方式跟踪它们。我希望确保它们输入的路径和文件名存在(以确保没有输入错误).更新需要一段时间-你们现在都很好了。:-)我有它自己的应用程序池下运行。我只是不确定我应该给这个帐户什么权限。另外,选择器显示“ApplicationPoolIdentity”(推荐),我不确定从该标识更改它是否明智。