Zaczynam od CakePHP i mam problem z ustawieniem komponentu Auth. Za każdym razem, gdy użytkownik się wyloguje, ciasto przekierowuje je z powrotem do logowania. Zobaczysz, że próbuję usunąć/anulować niektóre pliki cookie podczas wylogowywania(). Dzieje się tak, ponieważ konfiguruję pojedyncze logowanie w witrynie Wordpress, więc chcę, aby użytkownik był wylogowywany z obu stron.Authentykacja CakePHP przekierowuje do logowania po logOUT
My AppController:
class AppController extends Controller {
public $components = array(
'Session',
'Cookie',
'Auth' => array(
'loginRedirect' => array('controller' => 'questions', 'action' => 'index'),
'logoutRedirect' => array('controller' => 'pages', 'action' => 'display', 'home')
)
);
public function beforeFilter() {
$this->Auth->allow('index', 'view', 'login', 'logout', 'display');
}
}
UsersController:
class UsersController extends AppController {
public function beforeFilter() {
parent::beforeFilter();
$this->Auth->allow('add', 'logout', 'login');
}
...
public function login() {
//who cares
}
public function logout() {
$wp_cookie = grab_wp_cookie(); //this grabs a specific cookie
$cookie_name = (isset($wp_cookie['name'])) ? $wp_cookie['name'] : NULL;
//NONE OF THESE WORK...
$this->Cookie->write($cookie_name, '', false, time()-3600);
$this->Cookie->delete($cookie_name);
$this->Cookie->destroy();
$this->redirect($this->Auth->logout());
}
Czy chcesz przekierować na inną stronę przy wylogowaniu? – summea
Idealnie byłoby przekierować po wylogowaniu, ale tak naprawdę nie obchodzi mnie to. Teraz uruchamia moją akcję login, która powoduje, że użytkownik pozostaje zalogowany nawet po przekierowaniu. To jest dla mnie kompletnie kłopotliwe, dlaczego akcja logowania powinna mieć jakikolwiek udział w procesie wylogowywania (example.com/users/logout/) – emersonthis
Czy próbowałeś po prostu użyć poniższego wiersza w swojej funkcji 'logout()'? Ostatnim razem pracowałem nad projektem testowym ... Używałem tylko tej linii: '$ this-> redirect ($ this-> Auth-> logout());' Chyba że konkretnie potrzebujesz tych linii związanych z plikami cookie powyżej .. – summea