Nasıl loginRedirect CakePHP birden fazla giriş yerleri alabilirim?

4 Cevap php

Ben kimlik CakePHP uygulaması benim sevme için çalışan ve bir budak içine çalışan almak için çalışıyorum.

Ben ana sayfasından ya veya bir özel giriş sayfasından kullanıcı girişi izin vermek istiyorum. Ben oturum yönetmek için Auth bileşeni kullanıyorum ve şu anda giriş kendisi çalışır. I / Users / Giriş için ana sayfadaki formu göndererek ediyorum ve onları giriş ve oturum yaratır. Sorun daha sonra tekrar ana sayfaya kullanıcıyı yönlendirir olduğunu. Ben bunun yerine loginRedirect belirtilen yere yönlendirmek istiyorum.

I dan / users / login giriş varsa doğrudan o loginRedirect ileri yapar. Ben sorun bir sayfadan başka bir sayfaya formu gönderme yerine kendisine, auth otomatik geri önceki sayfaya gitmek için istediğiniz düşünüyor ile ilgisi olduğunu düşünüyorum.

Herhangi bir düşünce?

4 Cevap

AppController içinde

public function beforeFilter( )
{
    $this->Auth->autoRedirect	=	false;
}

UsersController içinde

public function login( )
{
    if( $this->Auth->user( ) )
    {
    	$this->redirect( array(
    		'controller'	=>	'users'	,
    		'action'	=>	'index'	,
    	));
    }
}

Eğer giriş formu 2 giriş görünümler arasında özdeş olduğundan kesinlikle emin böylece Ayrıca, yoksa eğer zaten bir unsuru haline formu hareket etmelidir.

Evet auth loging yönlendirmeyi ayarlama işe yaramadıysa, false loginRedirect ayarlayın ve manuel ($ this-> yönlendirme (yapmak için deneyebilirsiniz oturum açmadan önce erişmeye denedim sayfasına yönlendirecek bir özelliği vardır [..]) UsersController :: login eylem.

ya yanlış ayarlanarak ve kendiniz yönlendirmeyi tarafından işleme $ autoRedirect kapatabilirsiniz. AuthComponent ile sorun gerçekten kontrol, ya da sadece kesmek tarafından değil çok fazla automagic var olmasıdır.

Sorunu için bir çözüm Session.Auth.redirect anahtarını silme, böylece AuthComponent daima $ loginRedirect URL'yi kullanır:

$this->Session->del('Auth.redirect');