Bonjour,
oui la ligne $this->loadComponent('flash'); est bien dans mon AppController
voici mon code :
AppController.php :
<?
namespace App\Controller;
use Cake\Controller\Controller;
use Cake\Event\Event;
class AppController extends Controller
{
//...
public function initialize()
{
$this->loadComponent('Flash');
$this->loadComponent('Auth', [
'authenticate' => [
'Form' => [
'fields' => ['username' => 'email', 'password' => 'password']]]
]);
$this->loadComponent('Auth', [
'authorize' => ['Controller']
]);
}
public function isAuthorized($user)
{
// les admins auront accès à tout
if (isset($user['role']) && $user['role'] === 'admin') {
return true;
}
// Par défaut refuser
return false;
}
public function beforeFilter(Event $event)
{
$this->Auth->allow(['index', 'view', 'display']);
}
}
la mthode add dans userController.php :
public function add()
{
$user = $this->Users->newEntity();
if ($this->request->is('post')) {
$user = $this->Users->patchEntity($user, $this->request->data, ['validate' => false]);
if ($this->Users->save($user)) {
$this->Flash->success(__("L'utilisateur a été sauvegardé."));
return $this->redirect(['action' => 'index']);
}
$this->Flash->error(("Impossible d'ajouter l'utilisateur."));
}
$this->set('user', $user);
}
maintenant je peux ajouter des utilisateurs en modifiant le role mais y a pas une vérification de code soit l admin soit l author ils peuvent rentrer dans la méthode edit() de Articles et porter des modification et c pas ce que je veux puisque y a que les admin qui peuvent modifier les articles .
Merci @connected de bien vouloir me répondre :)