我正在尝试从我的应用程序连接远程共享路径,并使用FileStream读取文件数据。该应用程序已托管在IIS 8.5中。我在托管应用程序文件夹的“安全性”选项卡下添加了IUSR,网络服务,IIS_IUSRS和iis apppool \ apppoolname,并为组名,用户名和apppool提供了完全控制访问权限。
FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
我应该在服务器内部创建服务帐户并将读取权限授予远程共享路径吗?这种方法是否正确,因为我们必须定期执行管理操作来维护帐户密码,或者可以使用其他任何替代方法来从IIS托管的应用程序访问远程共享路径?
详细错误消息如下。
说明:执行以下操作时发生未处理的异常 当前的Web请求。请查看堆栈跟踪以获取更多信息 有关错误及其在代码中起源的信息。
异常详细信息:System.UnauthorizedAccessException:访问 路径被拒绝。
ASP.NET无权访问请求的资源。考虑 向ASP.NET请求授予对资源的访问权限 身份。 ASP.NET具有基本进程标识(通常是 IIS 5上的{MACHINE} \ ASPNET或IIS 6和IIS 7上的网络服务,以及 IIS 7.5上配置的应用程序池标识),如果 该应用程序没有冒充。如果申请是 通过冒充,身份将是匿名用户(通常是 IUSR_MACHINENAME)或经过身份验证的请求用户。
要授予ASP.NET访问文件的权限,请在“文件”中右键单击该文件 在资源管理器中,选择“属性”,然后选择“安全性”选项卡。点击“添加” 添加适当的用户或组。突出显示ASP.NET帐户, 并选中所需访问权限的框。