akawam/authenticate-as-anyone

允许您以任何人的身份进行身份验证的包,请参阅readme以获取更多信息

1.2.2 2023-04-03 12:18 UTC

This package is auto-updated.

Last update: 2024-09-03 15:14:20 UTC


README

此包的目的是允许受限用户模拟另一个用户帐户。

当您想查看某个特定用户帐户的具体情况时很有用。

安装

您可以通过composer安装此包

composer require akawam/authenticate-as-anyone

您可以使用以下命令发布视图文件

php artisan vendor:publish --provider="Akawam\AuthenticateAsAnyone\AuthenticateAsAnyoneServiceProvider" --tag="views"

您可以使用以下命令发布配置文件

php artisan vendor:publish --provider="Akawam\AuthenticateAsAnyone\AuthenticateAsAnyoneServiceProvider" --tag="config"

这是发布配置文件的内容

return [
    'route-prefix' => 'authenticate-as-anyone', //required
    'middlewares' =>
        [
            'auth', //optional
        ],
    'models' =>
        [
            //required name of the Model
            'User' =>
                [
                    'namespace' => 'App\Models',//optional (default is App\Models)
                    'columns' => [
                        'name' => 'name', //optional (default is name)
                        'firstname' => 'firstname', //optional (default is firstname)
                        'login' => 'email',//optional (default is email)
                    ],
                ],
        ],
];

使用方法

  • 包含“登录为”标签带
...
<body>
@aaaLogged

...
</body>
</html>

添加您自己的事件

当以用户身份连接时,会触发一个事件(UserIsSwitching)

如果您想为您的身份验证添加一些魔法(如添加一些会话数据),您可以通过添加自己的事件监听器来实现,如下所示

// 'app/Providers/EventServiceProvider.php'
class EventServiceProvider extends ServiceProvider
{
    /**
     * The event listener mappings for the application.
     *
     * @var array
     */
    protected $listen = [
        UserIsSwitching::class => [
            TestListener::class
        ],
    ];

    /**
     * Register any events for your application.
     *
     * @return void
     */
    public function boot()
    {
        //
    }
}

鸣谢

许可证

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