Asp.net mvc 3 如何通过ASP.NET MVC应用程序访问NAS?

Asp.net mvc 3 如何通过ASP.NET MVC应用程序访问NAS?,asp.net-mvc-3,iis-7,fileserver,Asp.net Mvc 3,Iis 7,Fileserver,我想通过ASP.NET MVC应用程序访问文件服务器NAS,但找不到正确的方法 到目前为止,我所做的是: 已创建对我的NAS上的目录具有读/写权限的用户 在我的IIS服务器上创建了一个虚拟目录,该目录使用先前定义的usercredentials连接到nas目录 现在,如果我导航到虚拟目录applicationPadress/NAS,我会自动重定向到\naShipAddress\my\目录。在NAS loginnotifications上,我得到的信息是,有人使用给定的凭据连接到我的目录=>这就是

我想通过ASP.NET MVC应用程序访问文件服务器NAS,但找不到正确的方法

到目前为止,我所做的是:

已创建对我的NAS上的目录具有读/写权限的用户 在我的IIS服务器上创建了一个虚拟目录,该目录使用先前定义的usercredentials连接到nas目录 现在,如果我导航到虚拟目录applicationPadress/NAS,我会自动重定向到\naShipAddress\my\目录。在NAS loginnotifications上,我得到的信息是,有人使用给定的凭据连接到我的目录=>这就是应该的方式

但是,如果我通过MVC应用程序访问NAS目录,无论我是使用UNC还是虚拟目录重定向,我都会收到一条“访问被拒绝”消息,在NAS登录说明中,没有列出我准备好的用户帐户,而是列出我的Web服务器作为尝试登录的用户

        var dirName = Server.MapPath("~/NAS/Dir/");
        ViewBag.Message = System.IO.Directory.GetFiles(dirName );

有人能解释一下为什么会发生这种情况,如果我想通过我的mvc应用程序访问文件服务上的文件,我该怎么办?

你必须授予服务帐户访问文件区域的权限,或者让有权限的用户运行应用程序。这项工作的目的是:

在NAS和IIS服务器中具有相同的用户帐户和密码。 为web应用程序创建应用程序池,或使用默认应用程序池,并将用户帐户更改为前面提到的相同帐户。步骤: 转到IIS管理器 单击应用程序池 右键单击分配给web应用的应用程序池,然后选择高级设置。。。 在“流程模型”部分中,将标识字段更改为上述用户帐户。 单击位于字段右侧的3点按钮 选择自定义帐户并单击设置。。。按钮 将用户名、密码和密码确认设置为上述相同的用户帐户。 希望有帮助


FranciscoG

你的意思是我必须授予networkservice帐户的访问权限,对吗?但是我不知道该怎么做,因为如果我尝试将该帐户添加到用户列表中,则找不到该帐户。在文件夹类型“网络”的“安全”下的文本框中,然后按“检查名称”,结果列表应具有网络服务啊,请稍候。。您正在添加NAS上的权限,对吗?网络服务是IIS机器上的本地用户这是我的问题,但即使我想获得IIS机器上网络服务的访问权限,我也无法将其选择为用户,搜索不会找到它没有显示的交易,但它无论如何对网络服务帐户都没有帮助。您需要将服务帐户更改为AD上的用户,并将该权限授予NAS上的文件夹。在“应用程序池”下更改用户,选择池并单击“高级设置”