我正在研究Symfony 2 WebApp。 WebApp已经上线了大约两年,现在我想更新设计。这项工作应该外包给第三方。
当然,设计人员需要访问所有样式(sass文件)和模板(twig文件)来处理设计。我怎么能这样做,而不让他访问项目的其余部分呢?
首先,问题显而易见:创建一个只允许访问样式/图像/模板文件夹的用户帐户(例如FTP)。
问题是,我没有可以指定单个文件夹的用户访问权限的根服务器。我可以使用的访问控制非常有限:FTP用户只能限制在根文件夹中,但可以访问所有子文件夹。 SSH用户根本不能限于任何文件夹。
当然,设置具有完全访问控制权的根服务器可以让设计师完成他的工作。但是我觉得这个解决方案太过分了。
另一种解决方案是创建项目的特殊分支,所有重要/机密源代码都将删除。当然,分支仍然必须可用但具有有限的功能集。这可能比单独进行设计更有效。
长话短说:有没有任何标准方法让第三方工作Symfony项目的专用部分而不让他们访问整个项目?
修改
当然,设计人员需要对Web应用的 运行实例/副本进行某种访问。给他一个模板/样式文件夹的独立副本是可能和安全的(没有其他代码公开),但在这种情况下,将无法查看更改的结果。
答案 0 :(得分:1)
考虑到该问题下的评论,我建议创建只限其 home 目录的受限访问权限的FTP用户。
然后将所有需要的目录放在那里。像这样:
/ftpuser_home
/views
/web
/sass
/anything-other
最后一步是将这些目录中的每个目录符号链接到正在运行的项目实例目录(如
)下/ftpuser_home/views => /var/www/symfony/app/Resources/views
等等。
这样他们就可以使用您的项目了。完成后,只需删除符号链接,将目录物理移回项目目录并将更改提交给git。
注意:看起来它会更容易反之亦然,即在/ftpuser_home
中创建不在项目目录中的符号链接,但是你可能会遇到权限问题。
你不是害怕它们而且知道如何解决它们,那么它可能会更好。