CakePHP ile çalışmaya başladım ve Auth bileşenini ayarlamada sorun yaşıyorum. Her kullanıcı çıkış yaptığında, pasta giriş yapmak için tekrar yönlendiriyor. Logout() sırasında bazı çerezleri silmeye/kaldırmaya çalıştığımı göreceksiniz. Bunun nedeni, bir Wordpress sitesiyle tek bir oturum açacağım, bu yüzden kullanıcının her iki siteden de çıkış yapmasını istiyorum.CakePHP auth bileşeni, oturum açtıktan sonra oturum açmak için yeniden yönlendiriyor
Benim 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');
}
... Size açmış olmadan sayfaya erişim yok gibi görünüyor
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());
}
Bu, çıkışta farklı bir sayfaya yönlendirmek istiyor mu? – summea
İdeal olarak çıkıştan sonra yönlendirme yapardım, ama gerçekten umrumda değil. Şu anda, yeniden yönlendirme işleminden sonra bile kullanıcının giriş yapmasına neden olan oturum açma eylemimi tetikler. Oturum açma eyleminin çıkış işleminde neden yer alması gerektiği bana tamamen kafa karıştırıcı (example.com/users/logout/) – emersonthis
'logout()' işlevinde sadece aşağıdaki satırı kullanmayı denediniz mi? En son bir test projesinde çalışıyordum ... Sadece bu satırı kullandım: '$ this-> yönlendirme ($ this-> Auth-> logout());' Özellikle yukarıdaki çerezlerle ilgili satırlara ihtiyacınız olmadıkça .. – summea