授予 iis 应用程序对系统文件夹的权限

Posted

技术标签:

【中文标题】授予 iis 应用程序对系统文件夹的权限【英文标题】:give iis application rights to system folder 【发布时间】:2017-01-03 09:32:12 【问题描述】:

我正在使用相同的组件来访问 windows\system32 中的一些 dll。当我从 exe 执行此操作时,它可以工作。但是,当我从 IIS 应用程序执行此操作时,它会失败 - 我不确切知道错误是什么,因为我使用的是第三方组件。 我是否以特定方式设置了 IIS WCF 应用程序以访问 windows\system32 中的 dll?我试图明确输入访问物理路径的用户,但它没有帮助......

【问题讨论】:

IIS 日志中的状态码是什么? 401 还是 500 ? 无。我可以访问我的组件,它是由 wcf 服务执行的第三方组件,它会引发错误。我无法调试它,所以我猜测该进程可能没有权限。 当我在 windows\system32 中输入 dll 的完整路径但不在本地(完整)IIS 中时,它适用于 IIS Express 将应用程序池标识更改为Local System(这相当于Admin),看看它是否工作。如果可行,则将应用程序池标识恢复为默认值(不建议在本地系统中运行应用程序池)并使用进程监视器检查访问被拒绝问题,如此处blogs.technet.microsoft.com/chad/2009/12/30/… 所述。如果它在本地系统下不起作用,则主要不是权限问题 您的应用程序池运行的是 64 位还是 32 位 .Net 框架?我最近遇到了一个问题,因为应用程序池设置为 32 位,而我期望为 64 位,所以 Web 应用程序的一部分出错了。我想知道您尝试加载的 DLL 是否不匹配。 【参考方案1】:

我不确定授予 IIS 权限是否可行。

我会将应用程序分成两部分:

1:托管需要特殊访问权限的组件的 Windows 服务,将端点暴露给 IIS Web 应用程序。

2:网络应用,它将调用服务来完成工作。

【讨论】:

以上是关于授予 iis 应用程序对系统文件夹的权限的主要内容,如果未能解决你的问题,请参考以下文章

如何在 IIS 中授予 Web api 应用程序写入权限?

授予给定文件夹上的本地应用程序池组的写入权限

在 IIS 7.5 和 Windows Server 2008 R2 下为 ASP.NET 授予对联网 UNC 文件夹的写入权限

授予 IIS Express 访问 VMWare 中的网络驱动器的权限

如何在 C# 中为 IIS 用户授予文件夹权限?

授予特定本地 Windows 用户组对文件夹及其子文件夹的读取权限