Agregado y registrado middleware para usar UserRole

This commit is contained in:
Alejandro Tasistro 2025-05-15 19:38:47 -03:00
parent 2245eb4939
commit b330d991c6
2 changed files with 27 additions and 0 deletions

View file

@ -2,6 +2,7 @@
namespace App\Http;
use App\Http\Middleware\CheckRole;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful;
@ -58,6 +59,7 @@ class Kernel extends HttpKernel
'auth' => \App\Http\Middleware\Authenticate::class,
'admin' => \App\Http\Middleware\Admin::class,
'compras' => \App\Http\Middleware\Compras::class,
'role' => \App\Http\Middleware\CheckRole::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,

View file

@ -0,0 +1,25 @@
<?php
namespace App\Http\Middleware;
use App\UserRole;
use Closure;
use Illuminate\Http\Request;
class CheckRole
{
/**
* Handle the incoming request.
*
* @param Request $request
* @param Closure $next
* @param string $role
* @return mixed
*/
public function handle($request, Closure $next, $role)
{
$role_id = UserRole::where('nombre', $role)->first()->id;
return $request->user()->role_id == $role_id ? $next($request)
: response('No tenés permiso para esto.', 403);
}
}