您的位置:首页 > 其它

Drupal Private File System 私有文件系统实现

2012-09-14 23:38 776 查看


博主新入Drupal阵营,奋战了一个余月,总算对Drupal开发有个把握了。

最初学了怎样使用的时候,觉得很好上手啊,自认为作为一个资深码农,对框架的逻辑,代码理解很到位,夸下海口,两个星期可以拿下。谁知道学习曲线还是如是说的陡峭。

不过总算熬过来,从不知道如何入手,到现在驾轻就熟,还是有点成绩。也有必要总结总结,朋友Cameron的Drupal指南写了很多,也写得很好,不过未经他允许,我不好公开,而我在这里写自己的总结,也希望能帮助到出入Drupal的迷途小羔羊。

Drupal 7的private file system其实是通过.htaccess和drupal对system/file路径的处理来实现的。

例子如下:

1. 在admin/config/media/file-system 设置private file system path,保存后,在default download method中就可以选择Private local files served by drupal了。这样就会在设定的path中生成一个.htaccess文件,里面有deny from all。如果这个.htaccess文件deny from all不起效,说明apache的conf文件没有 AllowOverride All,这个曾困扰了我好一阵子。。

2. 自己写一个hook,实现hook_download(),检查权限,如果非法访问,返回-1。file_download()会检查所有实现上面hook的模块,任何一个模块返回-1都会access denied。

这里面写虽然简短,但是基本就是实现的框架了,如果大家不明白,可以留言或发信给我。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息