chadhurin/laravel-masquerade 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

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

chadhurin/laravel-masquerade

最新稳定版本:v1.0.0

Composer 安装命令:

composer require chadhurin/laravel-masquerade

包简介

Elevate your user management experience with the powerful Laravel Masquerade Package. Designed for seamless integration with Laravel applications, this package empowers administrators to temporarily switch and view the application through the eyes of another user. Whether you're debugging, testing u

README 文档

README

Latest Version on Packagist Total Downloads

Elevate your user management experience with the powerful Laravel Masquerade Package. Designed for seamless integration with Laravel applications, this package empowers administrators to temporarily switch and view the application through the eyes of another user. Whether you're debugging, testing user experiences, or verifying permissions, our Masquerade Package streamlines the process.

Key Features

  • Effortless User Switching: Quickly and securely switch to any user account within your application.
  • Realistic User Experience: Gain insights by experiencing the application exactly as the selected user would.
  • Advanced Permissions Testing: Verify and troubleshoot user permissions with ease.
  • Developer-Friendly: Intuitive setup and configuration for smooth integration into your existing Laravel project.

Inspiration

This package was inspired by the fantastic work done in the laravel-impersonate package. We recognized the value it brought to the community and aimed to build upon its ideas while adding our unique features particularly with Laravel Sanctum support. We needed to quickly add support for Sanctum so a few other features were left out. We hope to add them in the future.

Requirements

  • Laravel 10.x
  • PHP >= 8.0

Installation

You can install the package via composer:

composer require chadhurin/laravel-masquerade

Then, add the trait Chadhurin\LaravelMasquerade\Traits\Masquerade to your User model.

Usage

Simple usage

Masquerade a user:

Auth::user()->masquerade($other_user);
// You're now logged as the $other_user

Leave a Masquerade:

Auth::user()->leaveMasquerade();
// You're now logged as your original user.

Using the built-in controller

In your routes file, under web middleware, you must call the masquerade route macro.

Route::masquerade();

Advanced Usage

Defining masquerade authorization

By default all users can masquerade an user.
You need to add the method canMasquerade() to your user model:

    /**
     * @return bool
     */
    public function canMasquerade(): bool
    {
        return $this->hasRole('super-admin');
        // For example, you can check if the user has a specific role.
    }

By default all users can be masqueraded.
You need to add the method canBeMasqueraded() to your user model to extend this behavior:

    /**
     * @return bool
     */
     public function canBeMasqueraded():bool
    {
        return !$this->hasRole('super-admin')
        && $this->can_be_masqueraded;
        // For example, you can check if the user has a specific role and if the user has a flag on the users table
    }

Configuration

The package comes with a configuration file.

Publish it with the following command:

php artisan vendor:publish --tag=masquerade

Available options:

'take_redirect_to' => '/',
'leave_redirect_to' => '/'

Testing

composer test

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email chadhurin@gmail.com instead of using the issue tracker.

Credits

License

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

Laravel Package Boilerplate

This package was generated using the Laravel Package Boilerplate.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2023-08-31

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固