1

我有一个出现在所有页面(布局/default.ctp)上的登录表单,我想让用户留在他登录的页面上。例如,如果他正在查看另一个用户的个人资料,我想在登录后将他保留在那里,而不是将他重定向到 $this->Auth->loginRedirect 操作。另外,关于我的应用程序的另一件事是,我没有“仅经过身份验证的访问”页面,每个人都可以访问每个页面,但是如果您已登录,您将获得其他功能。

我怎样才能做到这一点?

4

2 回答 2

3

我解决了这个问题,写了这段代码:

用户控制器:

if($this->Auth->Login()){
    $this->redirect($this->Auth->redirect());
}

在 AppController 中:

public function beforeFilter(){
    if($this->here != '/cmap/users/login'){
        $this->Session->write('Auth.redirect', $this->here);
    } 
}
于 2013-01-23T19:14:01.463 回答
2

你有没有试过$this->referer()

登录功能

function login()
{
   if ($this->Auth->user())
   {
        $this->redirect($this->referer());
        exit();
   }
}
于 2013-01-23T06:44:44.430 回答