无法从共享文件夹读取文件
本文关键字:文件夹 读取 文件 共享文件 共享 | 更新日期: 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.FileSystemEnumerableIterator1.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一跳")。
注意:在允许访问文件时,请确保审查安全要求。