我遇到了这样一种情况:我在 Azure 中拥有三台属于同一工作组的虚拟机。我接到一个要求,需要通过 ASP.NET 应用程序复制其中一台虚拟机中共享文件夹中的文件,并将其他两台虚拟机中的文件复制到共享文件夹中。这两台虚拟机是 Web 服务器,通过负载均衡器访问。这里的问题是它们不在域中。
我提到如何设置网络共享文件的权限?并相应地在所有三台服务器上使用相同的凭据创建用户,并使用相同的用户模拟 asp.net 应用程序,但这并不在所有情况下都按预期运行。尽管它在某些情况下对小文件有效。
从根本上来说,我发现提供的解决方案是错误的,因为如果我们在多台机器上(即使在工作组中)创建具有相同凭据的本地用户,那么该用户也不应该能够访问不同机器上的文件夹。
请帮忙解决以下两点
1- 我有一个本地用户,他在我用来登录的所有三台虚拟机上都拥有相同的凭据。我授予该用户对共享文件夹的全部权限。我可以从任何一台虚拟机浏览文件夹并执行所有操作(创建\编辑\删除)。所以我认为它应该可以像上面讨论的那样工作。请提出建议。
2- 任何其他方法来处理这种情况。
答案1
我的建议是不要在虚拟机内创建共享文件夹,从长远来看这会让您头疼,而且从您的描述来看,您甚至可能有能力摆脱虚拟机,因为听起来您只使用它来托管共享文件夹。
Azure 通过一项名为“Azure 文件存储“,它基本上是在 Azure 存储之上创建的共享文件夹,允许对其内容进行共享访问。您可以像网络上的任何其他共享文件夹一样使用它。
- 在这种情况下,身份验证是使用加密密钥完成的,因此您不必创建本地用户来连接虚拟机。
- 由于 Azure 文件存储托管在 Azure 存储之上,因此您实际上可以获得存储本身的 SLA,这与在 VM 中托管文件不同。
您可以在此处阅读有关它的全部内容以及有关如何创建和配置服务的分步文档:http://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-files/