2015-04-08 60 views
0

我在Yii上開發了一個Web應用程序。YII中的CHttpException異常

我已經在2臺服務器上部署了它。 我可以訪問第二臺服務器上通過統計控制器調用的頁面。它的工作原理都還好我的本地主機上也不過1號服務器上它給我的異常

CHttpException You are not authorized to perform this action. 

此異常發生的地方時,在警予的訪問規則沒有定義的訪問。我已將此索引的權限定義爲「@」,這意味着所有登錄的用戶都可以訪問它。

此異常背後的任何想法?

public function filters() { 
    return array('accessControl'); // perform access control for CRUD operations 
} 

public function accessRules() { 
    return array(
     array('allow', // allow authenticated user to perform 'create' and 'update' actions 
      'actions' => array('index'), 
      'users' => array('@'), 
     ), 
     array('deny', // deny all users 
      'users' => array('*'), 
     ), 
    ); 
} 

//這是什麼,是被稱爲

public function actionIndex() 
{ ... 
+0

你能張貼'accessRules()'和'過濾器()'方法,在你的控制器? – hamed

+0

@hamed修改了這個問題,您現在可以看到它們 –

+0

您確定在執行該操作時已通過身份驗證嗎?嘗試用''users'=> array('*')替換''users'=>數組('@')'並檢查CHttpException的細節是否有變化。 – hamed

回答

0

這可能是由於異常處理不當可能。 MySQL中的數據以某種方式在此服務器上遭到損壞,我將工作應用服務器的數據移至此服務器上,並開始工作。

即使我試過die();並打印結果集,它在UI上工作並顯示,但不知何故Yii無法在視圖上呈現該數據......很奇怪,但有些如何解決。

感謝, Danyal