Middleware
The package ships two middleware classes and registers aliases for them.
Aliases
| Alias | Class | Behavior |
|---|---|---|
impersonating | ForbiddenUnlessImpersonating | Only allow while impersonating |
not-impersonating | ForbiddenWhileImpersonating | Only 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.