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

博主新入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。


这里面写虽然简短,但是基本就是实现的框架了,如果大家不明白,可以留言或发信给我。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值