我一直在CakePHP網站工作,幾乎完成,除了標題上的問題,我需要做的是重定向到一個頁面,如果用戶還沒有足夠的訪問級別可以繼續執行,並且如果您在地址欄中寫入url,但實際上效果不錯,但是當按下應該指向相同地址的按鈕時不會。CakePHP與ACL不重定向時沒有足夠的權限
這是我的AppController類
class AppController extends Controller {
public $components = array(
'Acl',
'Auth' => array(
'authorize' => array(
'Actions' => array('actionPath' => 'controllers')
)
),
'Session'
);
public $helpers = array('Html', 'Form', 'Session');
public function beforeFilter() {
//Configure AuthComponent
//debug($this->params,true);
$this->Auth->loginAction = array('controller' => 'users', 'action' => 'login');
$this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login');
$this->Auth->loginRedirect = array('controller' => 'posts', 'action' => 'add');
$this->Auth->authError = "Error";
if (isset($this->params['requested'])) $this->Auth->allow($this->action);
}
這是一個鏈接的例子來「添加」頁面,如果用戶不允許執行此操作時,應重定向到配置的頁面在我的AppController
<?php echo $this->Html->link($this->Html->image("add.png", array("alt" => "Agregar nueva encuesta","title" => "Agregar nueva encuesta")),
array('controller'=>'Surveys','action'=>'add',$beneficiary['Beneficiary']['id']),
array('escape' => false));?>
因此,要明確,如果用戶寫地址,如果「MYSERVER /受益人/添加/參數」被重定向到一個表明他不能這樣做,操作的頁面,但他按下鏈接什麼也沒有發生,他不能添加任何東西,但我需要那個方向。
我將不勝感激任何意見。
我希望我的解釋很清楚,我的英語是遠遠不夠完善:)
編輯:
我決定跟隨用戶奔希區柯克的建議有關使用Web調試「查爾斯」。這是我得到
地址欄
請求 GET /項目/ SUISEPV2 /受益人/編輯/ 1 HTTP/1.1 主機本地主機 的User-Agent的Mozilla/5.0(Windows NT的6.3書面方式; WOW64; rv:26.0)Gecko/20100101 Firefox/26.0 接受text/html,application/xhtml + xml,application/xml; q = 0.9,/; q = 0.8 Accept-Language es-ES,es; q = 0.8,en-US; q = 0.5,en; q = 0.3 Accept-Encoding gzip,deflate Cookie CAKEPHP = 7399cvgls9gurk37ubes1fknf0 連接保持活動
Responde HTTP/1.1 302實測值 日期星期一,2014年1月20日16時54分56秒GMT 服務器的Apache/2.4.7(Win32的)的OpenSSL/0.9.8y PHP/5.4.22 X-Powered By PHP/5.4.22 Location myserver/Projects/SUISEPV2/posts/add Content-Length 0 Keep-Alive timeout = 5,max = 100 連接保持活動 Content-Type text/html;字符集= UTF-8
按下鏈路
請求: GET /項目/ SUISEPV2 /受益者/編輯/ 1 HTTP/1.1 主機本地主機 用戶代理的Mozilla/5.0(Windows NT的6.3; WOW64; rv:26.0)Gecko/20100101 Firefox/26.0 接受text/html,application/xhtml + xml,application/xml; q = 0.9,/; q = 0.8 Accept-Language es-ES,es; q = 0.8,的en-US; q = 0.5,連接; q = 0。3 接受編碼的gzip,放氣 Referer的MYSERVER /項目/ SUISEPV2 /受益人 曲奇的CakePHP = 7399cvgls9gurk37ubes1fknf0 連接保持活動
響應: HTTP/1.1 302實測值 日期星期一,2014年1月20日16時55分: 33 GMT 服務器Apache/2.4.7(Win32)OpenSSL/0.9.8y PHP/5.4.22 X-Powered-By PHP/5.4.22 Location myserver/Projects/SUISEPV2 /受益人 Content-Length 0 Keep-活動超時= 5,最大= 100 連接保持活動 Content-Type text/html; charset = UTF-8
不幸的是我仍然看不出有什麼問題。
不應該鏈接'控制器'=>'受益人',而不是'控制器'=>'調查'? –
在這種情況下,該按鈕的操作是向選定的受益人添加一項調查,但並不重要,即使我嘗試編輯或刪除用戶不允許執行的任何操作,問題也會發生。 – user3013960
您可能會進入重定向循環。我試着運行Charles(Web代理)並檢查發送給服務器的內容,以及返回的內容。 –