bootstrap app middleware file
<?php
use AppHttpMiddlewareAdminMiddleware;
use AppHttpMiddlewareRegistrarMiddleWare;
use IlluminateFoundationApplication;
use IlluminateFoundationConfigurationExceptions;
use IlluminateFoundationConfigurationMiddleware;
return Application::configure(basePath: dirname(__DIR__))
->withRouting(
web: __DIR__.'/../routes/web.php',
api: __DIR__.'/../routes/api.php',
commands: __DIR__.'/../routes/console.php',
health: '/up',
)
->withMiddleware(function (Middleware $middleware) {
$middleware->alias(['type.admin' => AdminMiddleware::class]);
$middleware->alias(['type.registrar' => RegistrarMiddleWare::class]);
//
})
->withExceptions(function (Exceptions $exceptions) {
//
})->create();
middleware file
<?php
namespace AppHttpMiddleware;
use Closure;
use IlluminateHttpRequest;
use SymfonyComponentHttpFoundationResponse;
class AdminMiddleware
{
/**
* Handle an incoming request.
*
* @param Closure(IlluminateHttpRequest): (SymfonyComponentHttpFoundationResponse) $next
*/
public function handle(Request $request, Closure $next): Response
{
if (request()->user()->tokenCan('role:admin')) {
return $next($request);
}
return response()->json('Not Authorized', 401);
}
}
api file
Route::post('/employee/register', [AuthController::class, 'EmployeeRegister'])->middleware(['auth:sanctum', 'type.admin']);
error displayed:
"message": "Target class [type.adsssmin] does not exist.",
"exception": "Illuminate\Contracts\Container\BindingResolutionException",
i tried everything but nothings works
I’m trying to copy this https://medium.com/@slamtm608/laravel-sanctum-multi-authentication-504b9489a2cc but it’s not laravel 11