我有不同版本的软件,我想分发给客户 (B2B)。例如,一个可能是基本版本、扩展版本和试用版本。这些将是单独的 zip 文件。它们也有版本。
这些文件可供客户试用或在注册许可证后使用,不同的许可证将使他们能够访问“软件”的不同变体(它不完全是一个软件,它只是一个文件,但它不对于这个问题来说并不重要)。
将这些文件放在网络服务器上并允许受密码保护的 HTTP 访问并不理想,因为它不允许足够细粒度的权限模型,例如例如,我可能想让一个客户端访问更新或测试版,而不是另一个客户端,并且我最终会为每个版本的每个客户端创建一个单独的文件夹,这非常混乱,并且意味着大量重复文件。
我想我正在寻找一些简单的、基于网络的“下载门户”软件,我可以在其中为每个客户创建一个网络帐户。理想情况下,这将支持“发布渠道”或类似的概念,然后我可以将每个客户分配到一个发布渠道,以及除此之外的特定文件,以引导哪个客户可以访问哪些文件。我在主网站上使用自托管 WordPress,因此我认为在像
download.company.com
这样的子域上拥有这样的门户会很棒,并且最好使用 WordPress 身份验证机制。
我不想自己编写这样的软件,而且我也没有找到可以做类似事情的现有 WP 插件。我提到的是 WP,但这不是 WP 问题,我正在寻找任何(好的)解决方案 - 如果它能够使用 WP 身份验证机制,那将是一个非常有用的功能。
是否存在这样的解决方案?我最好怎么做?似乎任何向客户分发文件和/或软件的 B2B 公司都会遇到此问题。他们都开发自己的解决方案吗?
我不是 100% 确定这是否适合 StackOverflow、SuperUser、WebApps 或 Webmasters 网站,如果这里不合适,我很高兴被引导到最合适的地方。
您可以执行以下操作:
download.php?id=2432
或作为 POST 值// your validation
if($isUserValid)
{
$path = $fileName;
$size = filesize($path);
$fp = fopen($path, "rb");
$content = fread($fp, $size);
fclose($fp);
header("Content-length: ".$size);
header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename="YOURFILEPATH" );
echo $content;
}
exit();
我个人最喜欢的,愚蠢简单又免费的是XODA https://sourceforge.net/projects/xoda/files/xoda/ 这是我们使用多年的一个愚蠢简单的“CMS”文档管理器。 我们的订阅者专用信息通过 FTP 发布到每个用户文件夹,他们只需登录并获取它们即可。
如果您正在寻找“所有这些”,请选择 OwnCloud 或 NextCloud