1

すべてのページ(Layout / default.ctp)に表示されるログインフォームがあり、ユーザーがログインしているページを維持したいと考えています。たとえば、彼が別のユーザーのプロファイルを表示している場合、$ this-> Auth-> loginRedirectアクションにリダイレクトするのではなく、ログイン後もそのユーザーをそこに保持したいと思います。また、私のアプリのもう1つの点は、「認証されたアクセスのみ」のページがないことです。すべてのページに誰でもアクセスできますが、ログインすると追加機能が利用できます。

どうやってやるの?

4

2 に答える 2

3

私はこの質問を解決し、このコードを書きました:

UsersController:

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 に答える