2017 © Pedro Peláez
 

library laravel-impersonate

image

banityt/laravel-impersonate

  • Monday, June 25, 2018
  • by banityt
  • Repository
  • 1 Watchers
  • 0 Stars
  • 8 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 1 Forks
  • 0 Open issues
  • 2 Versions
  • 0 % Grown

The README.md

laravel-impersonate

Impersonate with multi auth guard support., (*1)

Install

composer require banityt/laravel-impersonate

Setup

  • Implements Impersonatable Contract and use Impersonatable Trait in your user model.
use BaniTo\Impersonate\Contracts\Impersonatable as ImpersonatableContract;
use BaniTo\Impersonate\Traits\Impersonatable as ImpersonatableTrait;

class User extends Authenticatable implements ImpersonatableContract
{
    use ImpersonatableTrait;

    //...
}
  • Set your guard name in your user model
public function guardName()
{
    return 'web';   // or any custom guard name specified in config/auth.php
}
  • (Optional) You can customize your impersonation related rights
public function canImpersonate() : bool
{
    return Bouncer::can('users_impersonate');
}

public function canBeImpersonated() : bool
{
    return !Bouncer::is('admin');
}

Usage

Through user model or facade, (*2)

use Impersonate;

// Impersonate other user, can be another user with other guard
auth()->user()->impersonate($anotherUser);
Auth::user()->impersonate($otherGuardUser);
Impersonate::impersonate($impersonator, $beingImpersonated);

// Stop impersonating
auth()->user()->stopImpersonating();
Auth::user()->stopImpersonating();
Impersonate::stopImpersonating();

Check if user is impersonating, (*3)

auth()->user()->isImpersonating();
Auth::user()->isImpersonating();
Impersonate::isImpersonating();

// blade example
@if (Impersonate::isImpersonating())
    <a href="{{route('your.route.impersonate.stop')}}">{{__('Stop Impersonation')}}</a>
@endif

The Versions

25/06 2018

dev-master

9999999-dev

  Sources   Download

MIT

The Requires

 

by bani

25/06 2018

v0.0.1

0.0.1.0

  Sources   Download

MIT

The Requires

 

by bani