gpt4 book ai didi

security - Drupal 7 : how to restrict file access to specific user roles

转载 作者:行者123 更新时间:2023-12-02 19:14:27 24 4
gpt4 key购买 nike

我需要在 Drupal 7 上开发一个网站。我在 CCK 中有一些带有文件字段的内容类型。并且只能将这些类型的节点的访问权限授予特定的 Drupal 用户角色。站点管理员应该能够随时将这些节点设置为“公共(public)”或“私有(private)”。

我可以使节点仅对特定用户角色可见,但这不够安全。如果匿名用户知道文件的路径(www.mysite.org/hidden_​​files/file1),他就可以下载它。

解决这个问题最优雅的方法是什么?

提前致谢。

最佳答案

在此处查看此文档:http://drupal.org/documentation/modules/file

具体来说,标题为“管理文件位置和访问”的部分讨论了如何设置私有(private)数据存储(Drupal 7 均支持,只需配置即可)。

换句话来说,创建一个文件夹,例如:

站点/默认/文件/私有(private)

.htaccess 文件放入该文件夹中,并包含以下内容,以防止通过网络直接访问文件:

所有人否认

(文档声称以下步骤会自动执行上述步骤,不幸的是我没有对此进行测试,但如果您跳过上述两个步骤,您可能可以节省一些时间)

登录 Drupal 的管理界面,进入 /admin/config/media/file-system,配置私有(private) URL 并选择 Private Files Served by Drupal 作为默认下载方法。

为了定义对节点和字段的细粒度访问,您可以使用内容访问: http://drupal.org/project/content_access

您还需要编辑内容类型并设置文件/图像上传字段,以将上传的文件保存到私有(private)文件而不是公共(public)文件中。

此时,节点和字段级别权限将确定是否允许用户访问将通过在提供文件之前验证凭据的菜单 Hook 提供的文件。

希望这有帮助。

关于security - Drupal 7 : how to restrict file access to specific user roles,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9849928/

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