0

是否可以使用 Apache 或 nginx 设置细粒度的权限?给定大量文件和大量用户,指定每个经过身份验证的用户只能访问他/她自己的文件的好方法是什么?

user_a can access file_a_1, file_a_2
user_b can access file_b_1
user_c can access file_c_1, file_c2, file_c3, file_a_2

这些是静态的只读文件(大部分)。想象一下类似访问控制但使用 http 的文件系统。没有 web-dav;这是网络应用程序的一部分;图像将作为浏览器中用户页面的一部分显示。我想确保没有其他人可以看到图像,即使他们可以找到它的 url。

4

3 回答 3

1

啊。如果没有编写自己的身份验证处理程序,我怀疑是否有一种简单的方法可以完成此操作,至少使用 Apache。

如果lighttpd是一个选项,我可能会在 PHP 脚本中实现安全检查,如果一切正常,X-LIGHTTPD-send-file则在响应中添加一个标头。这意味着 lighty 将在不通过 PHP 的情况下完成所有文件传输。

(快速谷歌搜索显示 apache应该支持这样的东西X-sendfile,但我无法从 Apache 文档中得到任何关于此的信息。)

编辑:显然你可以用 Apache 和mod proxy scgi.

于 2009-04-03T02:15:39.347 回答
1

我意识到我在这里发布了 necroposting,但只是为了未来的谷歌人,

这是 andri 解决方案的类似 nginx 选项:

http://blog.kovyrin.net/2006/11/01/nginx-x-accel-redirect-php-rails/

http://wiki.nginx.org/NginxXSendfile

...显然,对于 Apache 来说也是如此:

http://tn123.ath.cx/mod_xsendfile/

于 2009-05-06T13:25:03.910 回答
0

不完全确定您要做什么。这些用户需要写权限,还是文件是只读的?这些是静态文件吗?

于 2009-04-03T01:09:45.400 回答