Autour de Laravel

Restreindre les routes avec des middlewares

Avatar de tapeeustache
tapeeustache

Bonjours à tous, je voudrais vraiment votre aide sur l'utilisation des middleware pour restreindre des routes à certains utilisateurs. En effet j'ai 3 middleware (admin,manager,user)

#manager public function handle($request, Closure $next) { $user = $request->user(); if($user && $user->role_id ==2) { return $next($request); } return redirect()->back(); }

#Admin
public function handle($request, Closure $next)
{
    $user = $request->user();
    if($user && $user->role_id ==1)
    {
        return $next($request);
    }
    return redirect()->back();
}

#user
public function handle($request, Closure $next)
{
     $user = $request->user();
    if($user && $user->role_id ==2)
    {
        return $next($request);
    }
    return redirect()->back();
}

#voice des routes
Route::get('Stock/Matériels', ['as'=>'getMaterielStock', 'uses'=>'generaleController@getMaterielStock'])->middleware('admin', 'manager','user');

Route::post('/createFamilleMateriels', ['as'=>'createFamilleMateriels', 'uses'=>'StockController@createFamilleMateriels'])->middleware('admin','manager');

Route::post('/createVenteVoiture', ['as'=>'createVenteVoiture', 'uses'=>'VenteController@createVenteVoiture'])->middleware('admin');

En effet des routes doivent être uniquement accessibles par l'admin, certaines par manager et d'autres par user. mais je suis rediriger toujours vers la page où je me trouve. 
je suis nouveau et je cherche une solution. Toutes aide sera la bienvenue.
Merci!
Avatar de bestmomo
bestmomo

Salut,

Est-ce que tu as enregistré tes middlewares dans le Kernel ?

Avatar de tapeeustache
tapeeustache

oui 'admin' => \App\Http\Middleware\admin::class, 'manager' => \App\Http\Middleware\manager::class, 'user' => \App\Http\Middleware\user::class,

Avatar de tapeeustache
tapeeustache

oui 'admin' => \App\Http\Middleware\admin::class, 'manager' => \App\Http\Middleware\manager::class, 'user' => \App\Http\Middleware\user::class,

Avatar de CinquièmeDimension
CinquièmeDimension

Salut,

Je sais pas si un composer dump-autoload ne pourrais pas aider...

Vous ne pouvez pas répondre à ce sujet.