christhompsontldr / impersonate
该软件包的最新版本(v2.0.0)没有可用的许可信息。
允许用户模拟其他用户。
v2.0.0
2020-10-13 19:48 UTC
README
此Laravel软件包允许用户模拟其他用户。
安装
Composer
使用Composer要求此软件包
composer require christhompsontldr/impersonate
模型
更新您的用户模型以使其可模拟。
namespace App\Models;
use Christhompsontldr\Impersonate\Models\Traits\Impersonatable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Impersonatable;
访问控制
您必须完成此步骤,否则您的用户将没有模拟权限。
可以通过特质来控制哪些授权用户可以进行模拟以及他们可以模拟哪些用户。这可以在您的用户模型上重载
在此示例中,用户模型有一个 is_admin
属性正在被检查。
public function canImpersonate(User $user)
{
return $this->is_admin ?: false;
}
或者如果您正在使用 Laratrust
public function canImpersonate(User $user)
{
// can't impersonate other admins
if ($user->hasRole('admin')) {
return false;
}
// current user is admin
return $this->hasRole('admin');
}
问题
将同时对主用户和被模拟用户执行注销操作。
源代码
此软件包基于 此示例。