Yii中上载文件的访问控制

Yii中上载文件的访问控制,yii,acl,Yii,Acl,处理文件访问限制的最佳方法是什么?目标是只允许其作者访问某些上传的文件 我决定将文件保存在/protected/files文件夹中,我想知道返回这些文件的最佳方式是什么 一种可能的方法是创建db,如: id、用户id、名称、路径 因此,具有特定用户id的用户可以通过/resource/name.jpg(具有名为ResourceController的公共控制器)之类的请求访问其文件 第二种方法是只存储id、name、path,而不使用ResourcesController。在每个其他控制器(需要访

处理文件访问限制的最佳方法是什么?目标是只允许其作者访问某些上传的文件

我决定将文件保存在/protected/files文件夹中,我想知道返回这些文件的最佳方式是什么

  • 一种可能的方法是创建db,如:
    id、用户id、名称、路径

    因此,具有特定用户id的用户可以通过/resource/name.jpg(具有名为ResourceController的公共控制器)之类的请求访问其文件

  • 第二种方法是只存储
    id、name、path
    ,而不使用ResourcesController。在每个其他控制器(需要访问用户文件)中,创建一个将执行访问控制的操作

    function actionMessageImage()
    {
      $message_id = $_GET['message_id'];
      $model = Message::model()->find( ... check user_id for access control)
    
      $file = File::model()->findByPk($model->file_id)
    
      // then make request such as $file->get(); that performs readFile()
    }
    

  • 在这种情况下,使用图像保存用户id将是最好的,对数据库的命中率最低