为了账号安全,请及时绑定邮箱和手机立即绑定

通过 iis 在共享文件夹中搜索

通过 iis 在共享文件夹中搜索

守着一只汪 2021-06-29 13:01:53
我编写了一个 Web 应用程序,用户可以在其中在共享文件夹中搜索文件,然后他们选择的文件将显示在浏览器中。当我通过 Visual Studio 运行应用程序时,一切正常。但是,如果我尝试通过 IIS 运行它,当共享文件夹中的 JSON 执行时,我会收到错误 500(内部服务器错误)。有没有权限限制?我会通过 VS 运行它,它使用我的凭据,但不会在我通过 IIS 运行它时运行吗?也许共享文件夹必须具有 IIS_IUSR 组的读取权限?我说得对吗?public JsonResult GetFiles(string MCodeID){  if (MCodeID == null)  {    throw new ArgumentNullException(nameof(MCodeID));  }  List<Files> filelist = new List<Files>();  //Searching Files in //192.168.1.191  string path = @"\\192.168.1.191\Materials Project\";  string searchPattern = MCodeID + "*";  DirectoryInfo fi = new DirectoryInfo(path);  if (fi.GetFiles(searchPattern, SearchOption.AllDirectories).Any())  {    foreach (var file in fi.GetFiles(searchPattern, SearchOption.AllDirectories))    {      var changeSlash = file.FullName.Replace('\\', '/');      var filepath = changeSlash.Replace("//192.168.1.191/Materials Project", "");      filelist.Add(new Files      {        FCodeID = filepath,        FDescr = file.Name + " - " + Math.Round((Convert.ToDouble(file.Length) / (1024*1024)), 2) + " MB",        FSize = Math.Round((Convert.ToDouble(file.Length) / (1024 * 1024)), 2)      });    }    filelist.Insert(0, new Files { FCodeID = "0", FDescr = "--Select File--" });    return Json(new SelectList(filelist, "FCodeID", "FDescr"));  }  else  {    filelist.Insert(0, new Files { FCodeID = "0", FDescr = "--No File--" });    return Json(new SelectList(filelist, "FCodeID", "FDescr"));  }}当应用程序通过 IIS 执行时,有没有办法使用用户凭据?
查看完整描述

1 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

我通过为用户提供对共享文件夹的完全访问权限而不仅仅是读取权限来解决上述错误。感谢@Jalpa 的帮助。


查看完整回答
反对 回复 2021-07-01
  • 1 回答
  • 0 关注
  • 170 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信