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

问题描述 投票:0回答:3

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

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

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

但是,当我在我们的Web服务器上访问应用程序的实时版本时,我得到了

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

我想这是因为IIS正在使用的用户没有网络驱动器的权限。

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

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

暂停服务

http错误503服务不可用。

任何帮助是极大的赞赏。

c# asp.net .net iis application-pool
3个回答
0
投票

.xlsx文件有

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

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


0
投票

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


0
投票

访问被拒绝:相同的错误,但不同的情况。使用C#.NET访问Active Directory以通过System.DirectoryServices.AccountManagement更改密码。我能够阅读,但自然而然地拒绝尝试右后卫。这是因为应用程序无权修改Active Directory。要解决此问题,我必须在web.config中添加一个具有帐户操作员AD权限的帐户。以下是我需要添加以使其适用于我们的情况。

<add key="adAdminUser" value="USERNAME"/>
<add key="adAdminPassword" value="PASSWORD"/>
<add key="adDomainFull" value="BLANK4US"/>
© www.soinside.com 2019 - 2024. All rights reserved.