承接 mozhuilungdsuo/impersonator 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

mozhuilungdsuo/impersonator

最新稳定版本:v1.0.2

Composer 安装命令:

composer require mozhuilungdsuo/impersonator

包简介

A package to impersonate users

README 文档

README

Introduction

The Impersonator package allows administrators to impersonate user logins within a Laravel application. This feature is useful for debugging, customer support, and administrative purposes. However, it should be used with caution to avoid security risks.

Installation

To install the package, run the following command:

composer require mozhuilungdsuo/impersonator

Next, publish the package service provider and configuration file:

php artisan vendor:publish --provider="Mozhuilungdsuo\Impersonator\ImpersonateServiceProvider"

Run the database migrations:

php artisan migrate

Configuration

After publishing, a configuration file named impersonate.php will be created in the config directory. You can use this file to define allowed and restricted email addresses for impersonation. Also enable or disable the impersonation feature.

return [
    'enabled' => false,
    'allowed_emails' => [
        'admin@example.com',
    ],
    'restricted_emails' => [
        'superadmin@example.com',
    ],
];

Usage

Blade Directives

Impersonation Button

Place the following directive in your views to add an impersonation button for a specific user:

@impersonateButton($userId)

Stop Impersonation Button

Add the following directive to your layout file to allow users to stop impersonating:

@stopImpersonationButton

Customization

The views for the impersonation buttons can be customized in the vendor/impersonate directory. Modify them as needed to fit your application's UI.

Handling Messages

This package returns success and error messages that need to be manually caught and displayed in your views. For example:

return redirect()->back()->with('error', 'User not found.');

In your Blade template, catch and display messages like this:

@if(session('success'))
    <div class="alert alert-success">
        {{ session('success') }}
    </div>
@endif

@if(session('error'))
    <div class="alert alert-danger">
        {{ session('error') }}
    </div>
@endif

Security Warning ⚠️

Use this package with caution. Impersonating a user grants full access to their account, which can pose serious security and privacy risks. Ensure that only authorized administrators have permission to use this functionality.

Developer

Lungdsuo Mozhui
Email: mozhui.lungdsuo@gmail.com

License

This package is open-source and available under the MIT License.

统计信息

  • 总下载量: 100
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-02-04