2011-11-10 8 views
0

のチュートリアルでは、私のプロジェクトでログアウトすることはできませんし、私は自分のアカウントにログインすると、チュートリアルの リンクは次のとおりです。 http://book.cakephp.org/view/1543/Simple-Acl-controlled-Application は、私はログアウトすることはできません。 私のコードを中ログアウト方法は私はCakePHPのチュートリアルに従うcakephp.org

function logout() { 
    $this->Session->setFlash('Good-Bye'); 
    $this->redirect($this->Auth->logout()); 
} 

とログインコードです:

function login() { 

    if ($this->Session->read('Auth.User')) { 
     $this->Session->setFlash('You are logged in!'); 
     $this->redirect('/', null, false); 
    } 
} 

この方法はusers_controllerの内側にあります。 しかし、私は

http://localhost/newacl/users 

にこのURL

http://localhost/newacl/users/logout 

私のカムバックを使用し、私はあなたがログインしている

このテキストを表示したときに!

私はログアウトできません。 あなたは何が起こっていると言うことができ、私は何をしている仕事を言う。

+0

の問題を解決し、あなたがケーキの最新バージョンを使用しているようですか? 1.3のリリースの1つにバグがありました。 – Dunhamzzz

+0

私はcakephp 1.3.13を使用しています。これはケーキ1.3を使用するcakephp.orgの例です。 – aya

+0

あなたのapp_controllerのbefore_filterにACL設定を投稿できますか?これは、ユーザーがログアウトして再度ログインするリダイレクトの問題です。 – wrdevos

答えて

2

あなたのその問題は事をリダイレクトしますが、この

if($this->Auth->user('id')){ 
    $this->Session->setFlash('You are logged in!'); 
     $this->redirect('/', null, false); 
} 
を試してみてください、あなたのログインに

$this->Session->setFlash('You Succefully Logged Out'); 
     $this->Auth->logout(); 
     $this->redirect('/'); 

ログアウトrはあなたにあなたのapp_controller.phpでのbeforeFilter

$this->Auth->loginError = "Wrong credentials. Please provide a valid username and password."; 

      $this->Auth->authError = "You don't have sufficient privilege to access this resource."; 

      $this->Auth->loginAction = array('controller' => 'users', 'action' => 'login'); 

      $this->Auth->logoutRedirect = array('controller' => 'users', 'action' => 'login'); 

      $this->Auth->loginRedirect = array('controller' => 'users', 'action' => 'home'); 

にコードの下に..Addログアウト

これがあなたを助けてくれることを願って....

3

これは古い話ですが、他の人には役立つかもしれません。

がUserControllerに、この

function beforeFilter() { 
$this->Auth->allow('login','logout'); 
} 

を追加すると、ログアウト

関連する問題