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。
这里面写虽然简短,但是基本就是实现的框架了,如果大家不明白,可以留言或发信给我。
博主新入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。
这里面写虽然简短,但是基本就是实现的框架了,如果大家不明白,可以留言或发信给我。
相关文章推荐
- File System Implementation 文件系统设计实现
- [CareerCup] 8.9 An In-memory File System 内存文件系统
- (Hdoop Distributed File System )分布式文件系统原理;HDFS文件系统基本架构和运行机制
- Introducing Windows New File System: ReFS(弹性文件系统)
- linux文件系统类型How do I identify my file system type?
- HTML5之本地文件系统API - File System API
- c#实现数据同步的方法(使用文件监控对象filesystemwatcher)
- C#中FileSystemWatcher控件实现文件监控
- A study of linux file system evolution 阅读笔记(文件系统 补丁)
- system file walker(系统文件替换)
- Linux - fsck命令修复文件系统 | Using command fsck to repair file system
- 利用Hadoop的FileSystem create方法获取 FSDataOutputStream 实现文件的上传
- 利用 Hadoop FileSystem moveToLocalFile 方法下载文件 实现HDFS操作
- PHP - Manual手册 - Function Reference函数参考 - File System Related Extensions文件系统相关扩展 - Filesystem文件系统 - Filesystem Functions文件系统函数 -
- 探索HTML5之本地文件系统API - File System API
- js用FileSystemObject 对象实现文件控制
- nodejs File System 文件系统操作函数分类
- js用FileSystemObject 对象实现文件控制
- C#使用FileSystemWatcher控件实现的文件监控功能示例
- Linux:文件系统层次结构标准(Filesystem Hierarchy Standard)