2011-01-06 73 views
0

我有一个本地Intranet应用程序,它使用Directory.Exists和File.Exists进行一些文件验证。不幸的是,由于应用程序以“ApplicationPoolIdentity”身份运行并且该帐户无法访问Directory.Exists和File.Exists正在检查的UNC路径,所以检查失败。内联网应用最佳实践? ApplicationPoolIdentity还是不是?

我应该给这个ApplicationPoolIdentity帐户权限来读取这些目录吗? (所有目录都出现在单个服务器的顶层文件夹下。)如果是这样,怎么办?

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

感谢任何投入!

+0

为什么你的应用程序需要检查外部目录和文件? – yfeldblum 2011-01-06 14:28:22

+0

因为这个应用程序包含一个模块供我们的CAD部门登录他们的数据文件并通过版本控制等方式跟踪他们。我想确保他们输入的路径和文件名存在(以确保没有错字)。 – Shayne 2011-01-06 15:34:29

回答

1

作为一个规则,我通常创建一个自定义帐户,但如果要授予其他权股份等,我会说这是最好的选择。

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

如果您使用的是Windows 7或Window 2008 R2你可能想看看Virtual Accounts

下面是对Application Pool Identities

0

的话题你需要设置以下身份的ACL读的好文章:IIS应用程序池\。您可以从文件夹属性对话框(如果您的计算机位于域中,请确保在“选择用户或组”对话框中将位置设置为本地计算机),或使用命令行中的icacls来执行此操作。