簡體   English   中英

CakePHP從1.2升級到1.3現在提供了重定向循環

[英]CakePHP upgrade from 1.2 to 1.3 is now giving redirect loops

我最近從CakePHP 1.2升級到CakePHP 1.3,現在我有一些代碼將用戶困在重定向循環中。 這是在用戶成功登錄並決定單擊鏈接以管理電子郵件之后。

我在控制器中有一些代碼,其中的index()方法將檢查當前用戶是否是管理員。 如果用戶不是管理員,它將執行以下操作:

function index()
{
    if ($this->Session->read('is_admin') < 1) {
        $this->redirect(array('controller' => 'emails', 'action' => 'view', 'id' => $this->Session->read('username')));
    }

    //...more code...
}

這旨在將用戶重定向到view()方法,並且僅顯示其電子郵件,而不顯示所有人的電子郵件。 當我調試這時發生的是重定向一直在index()方法中結束。

CakePHP是否缺少新的東西? 將名稱“ view”用作控制器中的動作是否可以?

*編輯*

好的,我這篇文章還為時過早。 已達到view($ username)方法中的代碼。 但是,問題是$ username尚未定義,我有一些客戶端代碼,如果未定義,它們會將其重定向回到index()操作。

我確實檢查了原始重定向,並在$ this-> Session-> read('username')中填充了用戶名,但只是未在view()的$ username參數中傳遞該用戶名。

謝謝!

事實證明,重定向簽名從1.2更改為1.3:

http://book.cakephp.org/view/1561/Migrating-from-CakePHP-1-2-to-1-3庫類>路由器

// CakePHP 1.2 way
$this->redirect(array('controller' => 'emails', 'action' => 'view', 'id' => $this->Session->read('username')));

// CakePHP 1.3 way
$this->redirect(array('controller' => 'emails', 'action' => 'view', $this->Session->read('username')));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM