【问题标题】:Access to a shared folder using NTLM authentication使用 NTLM 身份验证访问共享文件夹
【发布时间】:2015-11-05 21:45:14
【问题描述】:

我有一个使用 NTML 身份验证(Windows 身份验证)的 C# MVC Web 应用程序。我想访问一个共享文件夹(可从网络服务器访问)。

共享文件夹包含一个子目录列表,每个目录代表一个用户个人目录。在 Web 服务器中使用 Windows 资源管理器,每个用户只能访问其个人文件夹。

实际上,当我想使用应用程序访问此共享文件夹时,我的访问被拒绝(因为 IIS 进程无权访问此文件夹)。我想知道用户如何通过应用程序访问其个人文件夹。

有没有办法从 NTML 连接获取用户登录名和密码,或者有办法通过用户 NTML 令牌访问此共享文件夹?

我没有用户登录名/密码。

【问题讨论】:

  • 这是什么分享?为了澄清,您想以经过身份验证的用户身份访问该文件夹,而不是 IIS 下的应用程序池身份?如果是这样的话,我不知道有没有简单的方法。
  • 是的,我想以经过身份验证的用户身份访问。欢迎任何其他建议。最终目标是访问这个共享文件夹
  • 和其他文件夹一样吗?只要您使用 ACL,方法几乎相同。
  • 它在 localhost 中运行良好,我可以使用该应用程序访问共享文件夹。但它在开发服务器(iis 8.5)中不起作用。可以从此服务器使用 Windows 资源管理器访问共享文件夹

标签: c# .net iis


【解决方案1】:

【讨论】:

  • 我更改为示例中所示的身份,但它不起作用,我还启用了用户模拟。它在 localhost 中运行良好,我可以使用该应用程序访问共享文件夹。但它在开发服务器(iis 8.5)中不起作用。可以从此服务器使用 Windows 资源管理器访问共享文件夹
【解决方案2】:

您可以启用 ASP.NET 用户模拟 - https://msdn.microsoft.com/en-us/library/aa292118(v=vs.71).aspx

但是,请注意,您需要确保仅在访问用户资源时使用模拟 - 例如,如果您只是模拟整个请求,您可能无法再访问共享数据或数据库。

【讨论】:

  • 我启用了用户模拟,但它不起作用。我有同样的错误,拒绝访问该文件夹。它在 localhost 中运行良好,我可以使用该应用程序访问共享文件夹。但它在开发服务器(iis 8.5)中不起作用。可以从此服务器使用 Windows 资源管理器访问共享文件夹
  • @user3540496 您的计算机在域中吗?
  • 是的,localhost 和 Web 服务器 (IIS) 在同一个域中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-11
  • 2015-07-17
  • 1970-01-01
  • 2018-04-29
  • 1970-01-01
相关资源
最近更新 更多