无法从共享文件夹读取文件

本文关键字:文件夹 读取 文件 共享文件 共享 | 更新日期: 2023-09-27 18:02:32

我试图从Asp.net应用程序中的共享文件夹(ftp位置)访问文件。它从视觉工作室工作很好。当我在IIS 7中部署相同时,我得到以下错误

"登录失败:用户在这台计算机上没有被授予请求的登录类型。"

堆栈跟踪:

[IOException: Logon failure:用户没有被授予在这台计算机上请求的登录类型。]
System.IO.__Error。WinIOError(Int32 errorCode, String maybeFullPath)+9723522 System.IO.FileSystemEnumerableIterator 1.CommonInit() +245 System.IO.FileSystemEnumerableIterator ..字符串路径originalUserPath,字符串搜索模式,搜索选项SearchResultHandler ' 1 resultHandler) +556
System.IO.DirectoryInfo。searchPattern InternalGetFiles(字符串,System.IO.DirectoryInfo.GetFiles()+ 14

……

我的应用程序池以NETWORKSERVICE模式运行我需要向IIS中的哪个用户授予访问此文件夹的权限?是IUSER还是NT AUTHORITY'网络服务?如何识别IIS中当前正在运行的用户?

无法从共享文件夹读取文件

连接被拒绝的原因很可能是组策略不允许运行IIS服务的用户访问该服务。

我不想给任何这些系统用户访问网络资源的权限。其他电脑也可以连接。

相反,让你的程序用一个来宾帐户或你创建的其他帐户进行身份验证,并给予适当的权限。

我想说这将是一个更安全的方法。

您可能试图以交互方式登录到一台只能通过网络访问的计算机,反之亦然。

更改登录位置。酌情尝试本地(交互式)或远程(通过网络)登录。您可能需要要求管理计算机安全的人员更改安全数据库,以便您可以本地或远程登录。

要调试,请查看环境。异常时刻的UserName。它将是发起请求的用户或匿名用户。

修复:如果本地文件授予权限可能是ok的。如果远程并且使用用户的模拟帐户-需要使用在远程机器上具有权限的另一个帐户进行模拟,因为您不能使用已经模拟的帐户访问远程资源("NTLM一跳")。

注意:在允许访问文件时,请确保审查安全要求。