laracomponents / impersonation
Impersonating user for Laravel application.
v1.0.1
2017-01-27 06:21 UTC
Requires
- php: >=5.6.4
- illuminate/support: ~5.3.0|~5.4.0
Requires (Dev)
- mockery/mockery: ^0.9.7
- orchestra/testbench: ^3.3
- phpunit/phpunit: ^5.7
This package is not auto-updated.
Last update: 2024-10-26 20:43:10 UTC
README
Introduction
Impersonating user for Laravel application.
Installation
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('/'); });
Testing
You can run the tests with:
vendor/bin/phpunit
License
The MIT License (MIT). Please see License File for more information.