Impersonating user for Laravel application.
laracomponents/impersonation is a Laravel package for impersonating user for laravel application..
It currently has 2 GitHub stars and 1.044 downloads on Packagist (latest version v1.0.1).
Install it with composer require laracomponents/impersonation.
Discover more Laravel packages by laracomponents
or browse all Laravel packages to compare alternatives.
Last updated
Impersonating user for Laravel application.
You can install this package via composer using this command:
composer require laracomponents/impersonation
Next, you must add the Impersonable trait to the user model:
use LaraComponents\Impersonation\Traits\Impersonable;
class User
{
use Impersonable;
...
/**
* Optional method
* Default return the "impersonate_id"
**/
public function getImpersonatingKey()
{
return 'your session key here';
}
}
Open App/Http/Kernal.php and add middleware to web middleware group:
protected $middlewareGroups = [
'web' => [
...
\LaraComponents\Impersonation\Middleware\CheckForImpersonating::class,
],
...
];
And finally you should add a routes to routes/web.php. Example:
Route::get('users/{id}/impersonate', function ($id) {
$user = \App\User::findOrFail($id);
if(! $user->isImpersonating()) {
$user->impersonate();
}
return redirect('/');
});
Route::get('users/unimpersonate', function () {
$user = \Auth::user();
if($user->isImpersonating()) {
$user->unimpersonate();
}
return redirect('/');
});
You can run the tests with:
vendor/bin/phpunit
The MIT License (MIT). Please see License File for more information.