我有一个 ACL 控制的应用程序,它使用媒体插件将文件上传到/app/webroot/media
. 上传文件时,会将目录名、基本名和文件名写入数据库。
我正在寻找一种方法来限制对 的访问/app/webroot/media
,允许用户在登录后仅查看与其用户 ID 关联的文件。目前,用户可以访问其他用户的文件,这并不理想。就 CakePHP 而言,是否有最佳实践?
如果用户知道 url,则 webroot 下的任何文件都可以公开访问。将文件存储在 webroot 外部的文件夹中,然后使用CakeResponse::file()通过控制器操作呈现它们。这样,您可以根据需要控制对操作的访问。