0

我是 cakephp 的新手,并且我在我的登录实用程序中使用 auth...我想重定向到登录页面以防万一我的所有操作都经历了会话...我编写了类似\

public function index() {        
    if(!$this->Session->read('username'))
        $this->logout();
    $this->set('users', $this->paginate());        
}

但是对于我的所有操作,例如 add(),edit()...每次我需要检查会话变量...如果我在 __construct 中编写条件

public function __construct()
{
    if(!$this->Session->read('username'))
        $this->logout();
}

它给了我这样的错误

Error: Call to a member function read() on a non-object 

谁能建议我

4

3 回答 3

0

使用AuthComponent如果会话过期并且用户尝试访问受保护的页面,他将被自动重定向到登录页面。

于 2013-03-13T07:49:08.160 回答
0

看起来您没有包含 SessionComponent。

尝试添加

$components = array('Session');

在你的AppController第一个。

然后查看文档以获取更多信息:http ://api.cakephp.org/2.3/class-SessionComponent.html

于 2013-03-13T07:34:54.467 回答
0

尝试

if (!$this->Session->valid()) {
  $this->logout();
}
于 2013-03-13T06:15:40.583 回答