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:
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
avoir access à ma zone d'administration
An Internal Error Has Occurred