laravel-impersonator maintained by genealabs
Description
Impersonate users in your Laravel and Nova apps.
Author
Last update
2026/03/30 01:24
(dev-master)
License
Downloads
265 652
Last update
2026/03/30 01:24
License
Require
- php ^8.2
- illuminate/config ^11.0|^12.0|^13.0
- illuminate/console ^11.0|^12.0|^13.0
- illuminate/contracts ^11.0|^12.0|^13.0
- illuminate/http ^11.0|^12.0|^13.0
- illuminate/routing ^11.0|^12.0|^13.0
- illuminate/session ^11.0|^12.0|^13.0
- illuminate/support ^11.0|^12.0|^13.0
- illuminate/view ^11.0|^12.0|^13.0
Last update
2026/03/30 01:24
License
Require
- php ^8.2
- illuminate/config ^11.0|^12.0|^13.0
- illuminate/console ^11.0|^12.0|^13.0
- illuminate/contracts ^11.0|^12.0|^13.0
- illuminate/http ^11.0|^12.0|^13.0
- illuminate/routing ^11.0|^12.0|^13.0
- illuminate/session ^11.0|^12.0|^13.0
- illuminate/support ^11.0|^12.0|^13.0
- illuminate/view ^11.0|^12.0|^13.0
Last update
2023/05/20 22:05
License
Require
- illuminate/config ^10.0
- illuminate/console ^10.0
- illuminate/contracts ^10.0
- illuminate/http ^10.0
- illuminate/routing ^10.0
- illuminate/session ^10.0
- illuminate/support ^10.0
- illuminate/view ^10.0
Last update
2022/02/22 11:27
License
Require
- illuminate/config ^9.0
- illuminate/console ^9.0
- illuminate/contracts ^9.0
- illuminate/http ^9.0
- illuminate/routing ^9.0
- illuminate/session ^9.0
- illuminate/support ^9.0
- illuminate/view ^9.0
Last update
2020/10/12 04:26
License
Require
- illuminate/config ^8.0
- illuminate/console ^8.0
- illuminate/contracts ^8.0
- illuminate/http ^8.0
- illuminate/routing ^8.0
- illuminate/session ^8.0
- illuminate/support ^8.0
- illuminate/view ^8.0
Last update
2020/10/10 20:55
License
Require
- illuminate/config ^8.0
- illuminate/console ^8.0
- illuminate/contracts ^8.0
- illuminate/http ^8.0
- illuminate/routing ^8.0
- illuminate/session ^8.0
- illuminate/support ^8.0
- illuminate/view ^8.0
Last update
2020/09/15 21:00
License
Require
- illuminate/config ^8.0
- illuminate/console ^8.0
- illuminate/contracts ^8.0
- illuminate/http ^8.0
- illuminate/routing ^8.0
- illuminate/session ^8.0
- illuminate/support ^8.0
- illuminate/view ^8.0
Last update
2020/03/06 15:54
License
Require
- illuminate/config ^7.0
- illuminate/console ^7.0
- illuminate/contracts ^7.0
- illuminate/http ^7.0
- illuminate/routing ^7.0
- illuminate/session ^7.0
- illuminate/support ^7.0
- illuminate/view ^7.0
Last update
2020/03/01 19:36
License
Require
- illuminate/config ^6.0|^7.0
- illuminate/console ^6.0|^7.0
- illuminate/contracts ^6.0|^7.0
- illuminate/http ^6.0|^7.0
- illuminate/routing ^6.0|^7.0
- illuminate/session ^6.0|^7.0
- illuminate/support ^6.0|^7.0
- illuminate/view ^6.0|^7.0
Last update
2020/02/29 22:53
License
Require
- illuminate/config ^7.0
- illuminate/console ^7.0
- illuminate/contracts ^7.0
- illuminate/http ^7.0
- illuminate/routing ^7.0
- illuminate/session ^7.0
- illuminate/support ^7.0
- illuminate/view ^7.0
Last update
2019/10/03 01:29
License
Require
- php >=7.1.3
- illuminate/config ^5.5|^6.0
- illuminate/console ^5.5|^6.0
- illuminate/contracts ^5.5|^6.0
- illuminate/http ^5.5|^6.0
- illuminate/routing ^5.5|^6.0
- illuminate/session ^5.5|^6.0
- illuminate/support ^5.5|^6.0
- illuminate/view ^5.5|^6.0
Last update
2019/08/29 04:47
License
Require
- php >=7.1.3
- illuminate/config 5.5 - 6.0
- illuminate/console 5.5 - 6.0
- illuminate/contracts 5.5 - 6.0
- illuminate/http 5.5 - 6.0
- illuminate/routing 5.5 - 6.0
- illuminate/session 5.5 - 6.0
- illuminate/support 5.5 - 6.0
- illuminate/view 5.5 - 6.0
Last update
2019/08/29 04:24
License
Require
- php >=7.1.3
- illuminate/config 5.5 - 6.0
- illuminate/console 5.5 - 6.0
- illuminate/contracts 5.5 - 6.0
- illuminate/http 5.5 - 6.0
- illuminate/routing 5.5 - 6.0
- illuminate/session 5.5 - 6.0
- illuminate/support 5.5 - 6.0
- illuminate/view 5.5 - 6.0
Last update
2019/06/20 22:32
License
Require
- php >=7.1.3
- illuminate/config 5.5 - 5.8
- illuminate/console 5.5 - 5.8
- illuminate/contracts 5.5 - 5.8
- illuminate/http 5.5 - 5.8
- illuminate/routing 5.5 - 5.8
- illuminate/session 5.5 - 5.8
- illuminate/support 5.5 - 5.8
- illuminate/view 5.5 - 5.8
Last update
2019/06/03 01:51
License
Require
- php >=7.1.3
- illuminate/config 5.5 - 5.8
- illuminate/console 5.5 - 5.8
- illuminate/contracts 5.5 - 5.8
- illuminate/http 5.5 - 5.8
- illuminate/routing 5.5 - 5.8
- illuminate/session 5.5 - 5.8
- illuminate/support 5.5 - 5.8
- illuminate/view 5.5 - 5.8
Last update
2019/03/07 00:32
License
Require
- php >=7.1.3
- illuminate/config 5.5 - 5.8
- illuminate/console 5.5 - 5.8
- illuminate/contracts 5.5 - 5.8
- illuminate/http 5.5 - 5.8
- illuminate/routing 5.5 - 5.8
- illuminate/session 5.5 - 5.8
- illuminate/support 5.5 - 5.8
- illuminate/view 5.5 - 5.8
Last update
2019/02/26 02:22
License
Require
- php >=7.1.3
- illuminate/config 5.5 - 5.7
- illuminate/console 5.5 - 5.7
- illuminate/contracts 5.5 - 5.7
- illuminate/http 5.5 - 5.7
- illuminate/routing 5.5 - 5.7
- illuminate/session 5.5 - 5.7
- illuminate/support 5.5 - 5.7
- illuminate/view 5.5 - 5.7
Last update
2019/02/26 01:50
License
Require
- php >=7.1.3
- illuminate/config 5.5 - 5.7
- illuminate/console 5.5 - 5.7
- illuminate/contracts 5.5 - 5.7
- illuminate/http 5.5 - 5.7
- illuminate/routing 5.5 - 5.7
- illuminate/session 5.5 - 5.7
- illuminate/support 5.5 - 5.7
- illuminate/view 5.5 - 5.7
Last update
2019/02/26 01:46
License
Require
- php >=7.1.3
- illuminate/config 5.5 - 5.7
- illuminate/console 5.5 - 5.7
- illuminate/contracts 5.5 - 5.7
- illuminate/http 5.5 - 5.7
- illuminate/routing 5.5 - 5.7
- illuminate/session 5.5 - 5.7
- illuminate/support 5.5 - 5.7
- illuminate/view 5.5 - 5.7
Last update
2019/02/26 01:42
License
Require
- php >=7.1.3
- illuminate/config 5.5 - 5.7
- illuminate/console 5.5 - 5.7
- illuminate/contracts 5.5 - 5.7
- illuminate/http 5.5 - 5.7
- illuminate/routing 5.5 - 5.7
- illuminate/session 5.5 - 5.7
- illuminate/support 5.5 - 5.7
- illuminate/view 5.5 - 5.7
Last update
2018/11/14 19:38
License
Require
- php >=7.1.3
- illuminate/config 5.5 - 5.7
- illuminate/console 5.5 - 5.7
- illuminate/contracts 5.5 - 5.7
- illuminate/http 5.5 - 5.7
- illuminate/routing 5.5 - 5.7
- illuminate/session 5.5 - 5.7
- illuminate/support 5.5 - 5.7
- illuminate/view 5.5 - 5.7
Last update
2018/11/14 19:32
License
Require
- php >=7.1.3
- illuminate/config 5.5 - 5.7
- illuminate/console 5.5 - 5.7
- illuminate/contracts 5.5 - 5.7
- illuminate/http 5.5 - 5.7
- illuminate/routing 5.5 - 5.7
- illuminate/session 5.5 - 5.7
- illuminate/support 5.5 - 5.7
- illuminate/view 5.5 - 5.7
Last update
2018/10/06 02:03
License
Require
- php >=7.1.3
- illuminate/config 5.5 - 5.7
- illuminate/console 5.5 - 5.7
- illuminate/contracts 5.5 - 5.7
- illuminate/http 5.5 - 5.7
- illuminate/routing 5.5 - 5.7
- illuminate/session 5.5 - 5.7
- illuminate/support 5.5 - 5.7
- illuminate/view 5.5 - 5.7
Last update
2018/10/06 01:44
License
Require
- php >=7.1.3
- illuminate/config 5.5 - 5.7
- illuminate/console 5.5 - 5.7
- illuminate/contracts 5.5 - 5.7
- illuminate/http 5.5 - 5.7
- illuminate/routing 5.5 - 5.7
- illuminate/session 5.5 - 5.7
- illuminate/support 5.5 - 5.7
- illuminate/view 5.5 - 5.7
Last update
2018/01/05 16:25
License
Require
- php >=7.0.0
- illuminate/config 5.5.*
- illuminate/console 5.5.*
- illuminate/contracts 5.5.*
- illuminate/http 5.5.*
- illuminate/routing 5.5.*
- illuminate/session 5.5.*
- illuminate/support 5.5.*
- illuminate/view 5.5.*
Last update
2018/01/01 22:39
License
Require
- php >=7.0.0
- illuminate/config 5.5.*
- illuminate/console 5.5.*
- illuminate/contracts 5.5.*
- illuminate/http 5.5.*
- illuminate/routing 5.5.*
- illuminate/session 5.5.*
- illuminate/support 5.5.*
- illuminate/view 5.5.*
Last update
2017/12/31 23:03
License
Require
- php >=7.0.0
- illuminate/config 5.5.*
- illuminate/console 5.5.*
- illuminate/contracts 5.5.*
- illuminate/http 5.5.*
- illuminate/routing 5.5.*
- illuminate/session 5.5.*
- illuminate/support 5.5.*
- illuminate/view 5.5.*
Last update
2017/10/28 20:39
License
Require
- php >=7.0.0
- illuminate/config 5.4.*
- illuminate/console 5.4.*
- illuminate/contracts 5.4.*
- illuminate/http 5.4.*
- illuminate/routing 5.4.*
- illuminate/session 5.4.*
- illuminate/support 5.4.*
- illuminate/view 5.4.*
Last update
2017/05/10 01:54
License
Require
- php >=7.0.0
- illuminate/config 5.4.*
- illuminate/console 5.4.*
- illuminate/contracts 5.4.*
- illuminate/http 5.4.*
- illuminate/routing 5.4.*
- illuminate/session 5.4.*
- illuminate/support 5.4.*
- illuminate/view 5.4.*
Last update
2017/05/10 00:48
License
Require
- php >=7.0.0
- illuminate/config 5.4.*
- illuminate/console 5.4.*
- illuminate/contracts 5.4.*
- illuminate/foundation 5.4.*
- illuminate/http 5.4.*
- illuminate/routing 5.4.*
- illuminate/session 5.4.*
- illuminate/support 5.4.*
- illuminate/view 5.4.*
Impersonator for Laravel
Supporting This Package
This is an MIT-licensed open source project with its ongoing development made possible by the support of the community. If you'd like to support this, and our other packages, please consider becoming a backer or sponsor on Patreon.
Pre-requisites
- Laravel 10.0+
- PHP 8.2+
Version Support Matrix
| Laravel | PHP |
|---|---|
| 10.x | 8.2, 8.3, 8.4, 8.5 |
| 11.x | 8.2, 8.3, 8.4, 8.5 |
| 12.x | 8.2, 8.3, 8.4, 8.5 |
| 13.x | 8.3, 8.4, 8.5 |
Installation
composer require genealabs/laravel-impersonator
Configuration
genealabs-laravel-impersonator.layout: master blade layout view for your application (defaultlayouts.app).genealabs-laravel-impersonator.content-section: name of content section in master layout blade view (defaultcontent).genealabs-laravel-impersonator.user-model: user model of your application (defaultconfig('auth.providers.users.model')).genealabs-laravel-impersonator.middleware: the middleware to use for the impersonatee routes (default:['web', 'auth']). You may specifyonlyorexceptparameters. E.g.['web', 'auth', 'password.confirm' => ['except' => 'destroy']]
If you need to customize these settings:
php artisan impersonator:publish --config
Usage
- Add trait
GeneaLabs\LaravelImpersonator\Traits\Impersonatableto your user model. - Override trait method
public function getCanImpersonateAttribute() : boolthat determines if a given user can impersonate other users. - (optional) Override trait method
public function getCanBeImpersonatedAttribute() : boolthat determines if a given user can be impersonated. - Use
route('impersonatees.index')to view a list of all impersonatable users. You could add something like the following to your menu:
@if ((auth()->user()->canImpersonate ?? false) && ! session('impersonator'))
<a class="dropdown-item" href="{{ route('impersonatees.index') }}">Impersonator</a>
@endif
- (optional) Add something like the following to your menu view to allow imporsonator to stop impersonating:
@if (session('impersonator'))
<a href="{{ url('/logout') }}"
class="dropdown-item"
onclick="event.preventDefault(); document.getElementById('end-personation-session-form').submit();"
>
End Impersonation Session
</a>
<form action="{{ route('impersonatees.destroy', auth()->user()) }}"
method="POST"
style="display: none;"
id="end-personation-session-form"
>
{{ csrf_field () }}
{{ method_field ('DELETE') }}
</form>
@else
<a href="{!! route('logout') !!}"
class="dropdown-item"
onclick="event.preventDefault(); document.getElementById('logout-form').submit();">
Logout
</a>
<form method="POST"
action="{{ route('logout') }}"
accept-charset="UTF-8"
id="logout-form"
style="display:none;"
>
{{ csrf_field () }}
</form>
@endif
Customization
php artisan impersonator:publish --views
Credits
In large part prodded and inspired by LaraCasts' tutorial: https://laracasts.com/series/how-do-i/episodes/17. Thank you @JeffreyWay!