Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Akosiyuyi's avatar

Target class [admin] does not exist.

Illuminate\Contracts\Container\BindingResolutionException Hello guys, I'm new in laravel and I just want to ask why it doesnt redirect to the admindashboard and causes this error (when i click the remember me), but when not it doesnt show error message at the website but in laravel.log. Pls help me thank you.

0 likes
3 replies
tykus's avatar

It is impossible to say without seeing your code. Is your admindashboard route definition protected by an admin Middleware alias?

Akosiyuyi's avatar

if it helps here are the snippets

web.php:

Route::middleware('auth')->group(function () {

// Profile routes
Route::get('/profile', [ProfileController::class, 'edit'])->name('profile.edit');
Route::patch('/profile', [ProfileController::class, 'update'])->name('profile.update');
Route::delete('/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');

// Voter dashboard
Route::get('/voter/dashboard', [VoterDashboardController::class, 'index'])
    ->name('voter.dashboard');

// Admin dashboard (only accessible by admin role)
Route::middleware('admin')->group(function () {
    Route::get('/admin/dashboard', [AdminDashboardController::class, 'index'])
        ->name('admin.dashboard');
});

});

Kernel.php 'admin' => \App\Http\Middleware\EnsureUserIsAdmin::class,

EnsureUserIsAdmin.php

public function handle($request, Closure $next) { dd([ 'Auth::check()' => Auth::check(), 'Auth::user()' => Auth::user(), 'session' => session()->all(), ]); if (Auth::user()?->role !== 'admin') { abort(403, 'Unauthorized'); } return $next($request); }

DashboardController.php

class DashboardController extends Controller { public function index() { dd([ 'user' => Auth::user(), 'check' => Auth::check(), 'session' => session()->all(), ]); return view('admin.dashboard'); } }

AuthenticatedSessionController.php public function store(LoginRequest $request): RedirectResponse { $request->authenticate();

    $request->session()->regenerate();

    $user = Auth::user();

    if ($user->role === 'admin') {
        return redirect()->route('admin.dashboard');
    }
    return redirect()->route('voter.dashboard');
}
tykus's avatar

@Akosiyuyi okay, so this Route group relies on a Middleware aliased as admin

Route::middleware('admin')->group(function () {
    // etc.
});

You need to define that middleware alias in the bootstrap/app.php file:


->withMiddleware(function (Middleware $middleware) {
    $middleware->alias([
        'admin' => YourAdminMiddleware::class
    ]);
})

https://laravel.com/docs/12.x/middleware#middleware-aliases

1 like

Please or to participate in this conversation.