gpt4 book ai didi

permissions - 负载均衡服务器上的文件上传

转载 作者:行者123 更新时间:2023-12-01 23:54:39 25 4
gpt4 key购买 nike

我开发了一个网络项目,其中主要功能之一是上传文件。

所有权限均基于 Windows 身份验证。当我第一次创建该项目时,我没有意识到它将位于负载平衡服务器上。现在在有负载均衡服务器的环境下,文件上传就成了一个大问题。

我最初认为我可以创建一个网络共享的虚拟目录作为上传文件夹,但是该解决方案已变成权限噩梦。我无法在生产环境中进行任何成功的测试运行。

所以我现在在想,我的解决方案是在服务器上创建一项服务来检查上传目录并同步它们。我看到的另一个可能的解决方案是将文件存储在数据库中,我过去曾遇到过一些问题。

有人知道将文件上传到使用 Windows 权限进行身份验证的负载平衡服务器的直接解决方案吗?

谢谢。

更新 - 因此我已将应用程序池更改为通过在 Windows 权限中对共享和文件夹本身拥有完全权限的域帐户运行。虚拟目录在 IIS 中具有完全权限,但我仍然遇到同样的问题。

需要完成的事情之一就是创建目录的能力,我认为这可能会让我绊倒。我只是使用 System.IO.Directory.CreateDirectory

关于我可能在哪里缺少权限的任何其他想法?

最佳答案

如果您确实想避免存储在数据库中,我认为您的下一个最佳选择是您已经谈到的虚拟目录解决方案,尽管我可以看到权限问题如何很容易失控,具体取决于您的设置.

在我们的生产环境中,我们所有不同的站点都有自己的应用程序池。每个应用程序池本身都有自己的域帐户,这使得管理文件系统和 SQL Server 中的权限变得更加容易。其中每个帐户都是 IIS WP 域组的成员。在群集中的每台服务器上,域 IIS WP 是本地内置 IIS_WPG 组的成员。群集中每台服务器上的 IIS 配置都是相同的。这样做的重要作用是确保给定的 Web 应用程序始终以相同的身份运行,无论集群中的哪台服务器受到攻击。

通过我描述的设置,实现虚拟目录解决方案将非常简单,尽管您仍然需要担心其他明显的问题,例如命名冲突等。如果您仍在使用默认的应用程序池身份设置,我认为实现我所描述的内容将有助于让您在处理集群配置时变得更轻松。

This article lists some good advantages and disadvantages to storing in the file system:

Advantages

One of themain benefits of storing the file ondisk is that it's very easy to do.Just call SaveAs on a FileUploadcontrol and you're pretty much done.

Another advantage is that files ondisk are easy to backup; you just copythe files to another location. Thisalso makes it easier to do incrementalbackups; files that have already beenbacked up don't need to be copiedagain.

Disadvantages

Storingyour files in the file system has afew disadvantages as well. Probablythe most problematic issue is theloosely coupled nature of the files ondisk. They have no strong relationwith a record in the database. So,when you delete, say, a product fromthe database, you may end up with anorphaned product image. There is nodirect way to do an INNER JOIN betweenthe product table and your imagesfolder to determine what orphanedfiles you have left. This means that apage developer is responsible forwriting code that deletes the filefrom disk whenever the associateddatabase records gets deleted.

Also, to store uploaded files on disk,your web server needs permissions towrite to the file system. This is easyto come by when you run your ownserver, but may prove to be moreproblematic in an ISP scenario.

关于permissions - 负载均衡服务器上的文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/398305/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com