我正在开发 Symfony 2 WebApp。 WebApp已经上线大约两年了,现在我想更新一下设计。这项工作应该外包给第三方。
当然,设计师需要访问所有样式(sass 文件)和模板(twig 文件)才能进行设计。我怎样才能做到这一点,而又不让他访问项目的完整其余部分?
起初,问题似乎很明显:创建一个仅允许访问样式/图像/模板文件夹的用户帐户(例如 FTP)。
问题是,我没有可以指定单个文件夹的用户访问权限的根服务器。我可以使用的访问控制非常有限:FTP 用户只能访问根文件夹,但可以访问all子文件夹。 SSH 用户根本不能被限制到任何文件夹。
当然,建立一个具有完全访问控制的根服务器来让设计人员完成他的工作是可能的。但我认为这个解决方案有点矫枉过正。
另一个解决方案是创建项目的一个特殊分支,删除所有重要/机密源代码。当然,分支仍然必须可用,但功能集有限。这是可能的,但比我自己设计需要更多的工作。
长话短说:是否有任何标准方法可以让第三方处理 Symfony 项目的专用部分,而不授予他们访问整个项目的权限?
EDIT:
当然,设计者需要某种方式访问running实例/副本网络应用程序的。为他提供模板/样式文件夹的独立副本是可能且安全的(没有其他代码公开),但在这种情况下,不可能查看更改的结果。
考虑到该问题下的评论,我建议创建 FTP 用户,并限制其访问权限home目录。
然后把他需要的所有目录都放在那里。像这样的事情:
/ftpuser_home
/views
/web
/sass
/anything-other
最后一步是将每个目录符号链接到适当路径下正在运行的项目实例目录,例如
/ftpuser_home/views => /var/www/symfony/app/Resources/views
等等。
这样他们就可以与您的项目合作。一旦完成,您只需删除符号链接,将目录物理移回项目目录并将更改提交到 git。
Note:看起来可能更容易做到反之亦然,这是在中创建符号链接/ftpuser_home
不在项目目录中,但您可能会遇到权限问题。
你不害怕它们并且知道如何解决它们,那么它可能会效果更好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)