mis3085/laravel-admin-ext-impersonate

0.0.1 2021-07-30 08:30 UTC

This package is auto-updated.

Last update: 2024-08-29 05:55:37 UTC


README

允许管理员模拟其他后台用户。

发布语言文件

php artisan vendor:publish --tag=impersonate-lang

配置

如果需要自定义,请在 config/admin.phpextensions 部分插入。

    'impersonate' => [
        'dialogs' => [
            'impersonate' => [
                'position' => 'center-right',
            ],
        ],
        'session_keys' => [
            'impersonator' => 'impersonator',
        ]
    ],

用法

  • 编辑 app\Admin\routes.php 以覆盖原始的 UserController 路由
    $router->resource('auth/users', 'UserController')->names('auth.users');
    
  • 创建 app\Admin\Controllers\UserController
    • 扩展 Encore\Admin\Controllers\UserController
    • Encore\Admin\Controllers\UserController 复制 grid()
    • 修改 grid()
      • 作为列中的操作使用

        use Mis3085\Impersonate\Actions\ImpersonateAction;
        
        $grid->column('ANY_TEXT', 'ANY_TEXT')->action(ImpersonateAction::class);
        
      • 作为下拉操作使用

        use Mis3085\Impersonate\Actions\ImpersonateAction;
        
        $grid->actions(function (Grid\Displayers\Actions $actions) {
            if (Impersonate::canImpersonateUser($actions->getKey())) {
                $actions->add(new ImpersonateAction);
            }
        
            // other actions
        });