我在控制器some_controller
中写了两个动作,允许一个人下载文件。程序如下:CakePHP:是否可以从控制器访问受保护的功能?
- 用户转到
some_controller/export_data
并单击表单生成文本文件。 - 然后动作
export_data()
为用户写入一个文本文件。 - 一旦检测到文件已经生成,另一个按钮会出现,用户点击以通过媒体视图下载文件。此操作是
some_controller/download_file
。
我的问题是,我该如何使some_controller/download_file
用户无法手动访问?即我想阻止用户将该URL输入浏览器并下载文件。我尝试设置protected function _download_file()
,但这会使视图无法访问some_controller
中的操作。
我觉得我正在接近这个错误的方式。有人想给我一些方向?
也许尝试'私人'而不是'保护'?让我知道如果这样的作品.. – asifrc 2013-02-09 01:04:51
在我看来像私人无法通过请求访问。但是很晚了,我穿过了眼睛... https://github.com/cakephp/cakephp/blob/master/lib/Cake/Controller/Controller.php#L466-L497 – Daniel 2013-02-09 01:07:40
我之前尝试过'private',但那么这个观点甚至不会意识到存在的行动。 'protected'给了我一个访问被拒绝的错误。我需要在工作中使用的数据库目前处于离线状态,因此我必须在星期一再试一次。我会更新。 – musicliftsme 2013-02-09 01:08:27