繁体   English   中英

授予IIS Web应用程序访问网络驱动器上文件的权限

[英]Give IIS web application permission to access files on network drive

我已经使用C#和.NET开发了Intranet Web应用程序,该应用程序使用Windows身份验证对用户进行身份验证

页面之一从存储在网络驱动器上的excel文件中读取数据,并在屏幕上显示信息。 要访问存储excel文件的网络驱动器区域,您需要成为某个活动目录组的成员。

当我在本地运行该应用程序时,它可以正常运行,因为它将以我的登录ID运行,该登录ID具有对网络驱动器的许可。

但是,当我在Web服务器上转到应用程序的实时版本时,会得到

System.UnauthorizedAccessException:拒绝访问路径'\\\\ foo \\ bar.xlsx'。

我猜这是因为IIS使用的用户无权访问网络驱动器。

我已经在IIS中设置了应用程序池以使用ApplicationPoolIdentity (我假设使用IIS_USRS但是我如何向网络驱动器授予该权限?

如果我将IIS中的应用程序池更改为使用具有权限(例如我的详细信息)的帐户,而不是ApplicationPoolIdentity,则会收到以下错误:

暂停服务

http错误503服务不可用。

任何帮助是极大的赞赏。

.xlsx文件具有

应用/ vnd.openxmlformats-officedocument.spreadsheetml.sheet

哑剧类型。 转到有问题的IIS,单击“ MIME类型”按钮,然后在表中检查它是否具有我所说的MIME类型。

我通过将服务器帐户添加到有权查看文件夹的活动目录组中来解决我的问题。

拒绝访问:相同的错误,但情况不同。 使用C#.NET通过System.DirectoryServices.AccountManagement访问Active Directory更改密码。 我能够阅读,但是自然无法获得访问权限。 这是因为该应用程序无权修改Active Directory。 要解决此问题,我必须在web.config中添加一个具有Account Operator AD权限的帐户。 以下是我需要添加的内容,以使其适合我们的情况。

<add key="adAdminUser" value="USERNAME"/>
<add key="adAdminPassword" value="PASSWORD"/>
<add key="adDomainFull" value="BLANK4US"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM