Projectslaravel-impersonationMiddleware

Laravel Impersonation

Package

Session-based user impersonation for Laravel.

Upgrade Guide

Middleware

The package ships two middleware classes and registers aliases for them.

Aliases

AliasClassBehavior
impersonatingForbiddenUnlessImpersonatingOnly allow while impersonating
not-impersonatingForbiddenWhileImpersonatingOnly allow when not impersonating
Route::post('/admin/settings', ...)->middleware('not-impersonating');

Route::post('/impersonation/leave', ...)->middleware('impersonating');

You can also reference the classes directly:

use BradieTilley\Impersonation\Http\Middleware\ForbiddenWhileImpersonating;
use BradieTilley\Impersonation\Http\Middleware\ForbiddenUnlessImpersonating;

Route::middleware(ForbiddenWhileImpersonating::class)->group(function () {
    // Dangerous admin actions
});

Exceptions

Violations throw ForbiddenWhileImpersonatingException or ForbiddenUnlessImpersonatingException, rendered as 403 by the package exception renderer.

Continue to Events.