使用AJAX手动登录时设置AuthComponent

时间:2013-05-27 13:39:52

标签: ajax cakephp authentication cookies login

使用CakePHP 2.0,以正常方式登录时,可以通过AuthComponent :: user()设置和访问一组有用的cookie。但是,在使用AJAX方式时,这不会被设置。验证工作正常,但我想弄清楚如何设置AuthComponent没有硬刷新。

也许我可以不使用AuthComponent并只存储cookie,但我想在完成所有这些工作之前检查是否有一种简单的方法可以做到这一点。

我已经检查了CakePHP 2.0文档中的JsHelper和Authentication页面。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

为什么不在用户周围创建一个函数:

public function autologin() {
        $this->autoRender = false;
        if ($this->request->is('post')) {
          if ($this->Auth->login()) {
           $cuser = $this->Auth->user();
           $this->Session->write('Udata', $udata);
           $fD = array('loggedIn'=>true,'vdata'=>$udata);
          } else {
           $fD = array('loggedIn'=>false,'vdata'=>'Your username/password combination was incorrect');
          }
          echo json_encode($fD);
        }
}

并使用您的ajax调用此页面。用JSON运行一些检查;

相关问题