Ich habe CakePHP 3 App erstellt, die eine Login-Funktion hat. Login-Funktion funktioniert perfekt auf meinem lokalen Rechner. Wenn jedoch auf dem Produktionsserver die Anmeldedaten korrekt sind, leitet er mich zu "\" und nicht zu der von mir angegebenen URL um. Ich glaube, es ist ein Problem der Sitzung. Ich meine aus irgendeinem Grund ist die Sitzung an der Weiterleitung verloren.
Der Code:
Initilaize Methode der AppController
public function initialize()
{
parent::initialize();
$this->loadComponent('RequestHandler');
$this->loadComponent('Flash');
$this->loadComponent('Auth',[
'authenticate'=>[
'Form'=>[
'fields'=>[
'username'=>'username',
'password'=>'password'
],
'finder' => 'auth',
]
],
'loginAction'=>[
'controller'=>'Users',
'action'=>'login'
],
'loginRedirect' => [
'controller'=> 'Pages',
'action'=> 'dashboard'
],
]);
}
UserController.php:
class UsersController extends AppController {
public function initialize()
{
parent::initialize();
}
public function login() {
if ($this->request->is('post')) {
$user=$this->Auth->identify();
if($user) {
$this->Auth->setUser($user);
return $this->redirect($this->Auth->redirectUrl());
} else {
$this->Flash->error(_('your username or password is incorrect, please try agian'), [
'key' => 'falseSignIn']);
}
}
}
public function logout() {
return $this->redirect($this->Auth->logout());
}
}
Hier ist meine Session-Info mit phpinfo();
Können Sie mir die Initialisierungsfunktion des App-Controllers zeigen, wo Sie loginredirect definiert haben. – Aparna
Ich habe in der Hauptfrage hinzugefügt. Bitte schau es dir an – Tanan