我在控制器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