Bonjour,
j'ai developpé mon site avec une zone d'administration qui est gérer par un plugin. tout fonctionne nickel en locale mais lorsque je met le site en production j'ai une erreur apres connexion à la zone admin:
Ce que je fais
dans mon fichier routers du plugin j'ai ceci:
namespace Administration\Routing\Routes;
use Cake\Routing\Router;
use Cake\Routing\Route\DashedRoute;
Router::plugin(
'Administration',
['path' => '/administration'],
function ($routes) {
$routes->fallbacks(DashedRoute::class);
}
);
dans mon App du plugin, j'ai ceci:
<?php
namespace Administration\Controller;
use App\Controller\AppController as BaseController;
use Cake\Event\Event;
use Cake\Controller\Controller;
class AppController extends BaseController
{
public function initialize()
{
parent::initialize();
$this->loadComponent('Flash');
$this->loadComponent('Cookie');
$this->loadComponent('Auth', [
'authorize' => ['Controller'],
'flash' => [
'element' => 'error',
'key' => 'flash',
'params' => [
'class' => 'error'
]
],
'authenticate' => [
'Form' => [
'userModel' => 'Users',
'fields' => [
'username' => 'email',
'password' => 'password'
],
'passwordHasher' => [
'className' => 'Default'
]/*,
'finder' => 'auth'*/
]
],
'loginAction' => [
'plugin' => 'administration',
'controller' => 'Users',
'action' => 'login',
'prefixe' => false
],
'loginRedirect' => [
'plugin' => 'administration',
'controller' => 'Administrations',
'action' => 'index'
],
'unauthorizedRedirect' => [
'plugin' => 'administration',
'controller' => 'Users',
'action' => 'login',
'prefixe' => false
],
'logoutRedirect' => [
'plugin' => 'administration',
'controller' => 'Users',
'action' => 'login'
]
]);
}
public function isAuthorized($user)
{
if (isset($user['role']) && $user['role'] === 'invite') {
return true;
}
return false;
}
public function beforeFilter(\Cake\Event\Event $event)
{
$this->Auth->allow(['registar', 'login','add']);
}
ma fonction login se trouvant dans le controlleur Users de mon plugin est celle ci:
public function login()
{
$this->viewBuilder()->layout('template');
if($this->request->is('post'))
{
$user = $this->Auth->identify();
if($user)
{
$this->Auth->setUser($user);
$this->Flash->success(__("Bienvenue dans votre espace vous êtes connecté en tant que " . $this->Auth->user('email')));
return $this->redirect(['plugin'=>'Administration','controller' => 'Administrations' ,'action' => 'index']);
}
$this->Flash->error(__("Impossible de vous connecter, veuillez recommencer, ou créer à nouveau un compte"));
}
}
en local tous ce passe bien j'ai bien accès à ma zone d'administration mais en ligne sur lespace dédier, j'ai ce message
An Internal Error Has Occurred
Ce que je veux
avoir access à ma zone d'administration
Ce que j'obtiens
An Internal Error Has Occurred