web-id/ail

Authentication page to change user easily in debug mode
1,296 2
Install
composer require web-id/ail
Latest Version:1.0.2
PHP:^8.1
Laravel:9
License:MIT
Last Updated:Mar 20, 2023
Links: GitHub  ·  Packagist
Maintainer: web-id

AIL - Authentication with Impersonate guarded by a Lion

Latest Version on Packagist Total Downloads

Authentication page to change user easily

Ail homepage

Installation

1/ Composer

You can install the package via composer:

composer require web-id/ail

2/ Package installation

Install the package (config file and views) with this command :

php artisan ail:install

3/ Configuration

Update the config, especially guard and allowedEnv.

This is the content of the published config files:

return [
    /*
    |--------------------------------------------------------------------------
    | Route configuration
    |--------------------------------------------------------------------------
    |
    | These values will change the route configuration for the application routes.
    | You can define the prefix, the name and set your own middleware on it.
    | Web middleware is required for authentication and CanImpersonate for security.
    |
    */

    'routes' => [
        'prefix' => 'ail',
        'name' => 'ail',
        'middlewares' => [
            'web',
            CanImpersonate::class,
        ],
    ],

    /*
    |--------------------------------------------------------------------------
    | Guards to display
    |--------------------------------------------------------------------------
    |
    | This value is a list of guards that you want to display and impersonate. You
    | need to set the name on key and the service builder on value. The service
    | builder is required for search bar on view. By default, you can use
    | SearchUser::class that search on `name` attribute. You are free and encouraged
    | to create your own service.
    |
    */

    'guards' => [
        'web' => SearchUser::class,
    ],

    /*
    |--------------------------------------------------------------------------
    | Allowed environment security
    |--------------------------------------------------------------------------
    |
    | This value is a list of environments authorized for this package. It will
    | use APP_ENV. WARNING : This package is not recommended on risky environments
    | like production or preprod with sensitive data.
    */

    'allowedEnv' => [
        'local',
        'preproduction',
    ],

    /*
    |--------------------------------------------------------------------------
    | Pagination
    |--------------------------------------------------------------------------
    |
    | This value is the pagination number for view.
    |
    */

    'perPage' => 15,
];

4/ Update Models

Add Impersonate Trait on Authenticatable Models you want to impersonate.

class User extends Authenticatable
{
    use Impersonate;
}

5/ Update Views

You can add your own logic on resources/views/vendors/ail.

By default, it will display the name attribute.

6/ More options

See : https://github.com/404labfr/laravel-impersonate

WARNING : Don't forget to set authorization for who can impersonate : https://github.com/404labfr/laravel-impersonate#defining-impersonation-authorization

By default all users can be impersonated.

Changelog

Please see CHANGELOG for more information on what has changed recently.

Credits

License

The MIT License (MIT). Please see License File for more information.

Related Packages

web-id/persil

This is my package persil

12,989 2
doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

641,106,524 9,700
laravel/framework

The Laravel Framework.

593,882,149 34,959
laravel/tinker

Powerful REPL for the Laravel framework.

502,645,077 7,441
laravel/serializable-closure

Laravel Serializable Closure provides an easy and secure way to serialize closur...

418,291,778 609

Version History

Version Released PHP Laravel License
1.0.2 ^8.1 ^9.0 MIT
1.0.1 ^8.1 ^9.0 MIT
1.0.0 ^8.1 ^9.0 MIT
0.0.1 ^8.1 ^9.0 MIT