laracomponents/impersonation

为Laravel应用程序模拟用户。

v1.0.1 2017-01-27 06:21 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:53:21 UTC


README

Build Status Latest Version Quality Score StyleCI Total Downloads Software License

简介

为Laravel应用程序模拟用户。

安装

您可以通过以下命令使用composer安装此包:

composer require laracomponents/impersonation

接下来,您必须将Impersonable特质添加到用户模型中

use LaraComponents\Impersonation\Traits\Impersonable;

class User
{
    use Impersonable;
    ...

    /**
     * Optional method
     * Default return the "impersonate_id"
    **/
    public function getImpersonatingKey()
    {
        return 'your session key here';
    }
}

打开App/Http/Kernal.php并添加中间件到web中间件组

    protected $middlewareGroups = [
        'web' => [
            ...
            \LaraComponents\Impersonation\Middleware\CheckForImpersonating::class,
        ],
        ...
    ];

最后,您应该在routes/web.php中添加路由。例如:

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('/');
});

测试

您可以使用以下命令运行测试:

vendor/bin/phpunit

许可证

MIT许可证(MIT)。请参阅许可证文件获取更多信息。