elrod / laravel-multitenancy-impersonate
此包的最新版本(v1.0.0)没有可用的许可证信息。
Laravel 多租户身份模拟从房东到租户
v1.0.0
2022-02-23 22:22 UTC
Requires
- php: ^8.0
- spatie/laravel-multitenancy: ^2.3
This package is not auto-updated.
Last update: 2024-09-20 09:33:32 UTC
README
Laravel 多租户身份模拟从房东到租户。
此包专为与 Spatie Laravel Multitenancy 一起使用而设计。
安装
您可以通过 composer 安装此包
composer require elrod/laravel-multitenancy-impersonate
发布配置和迁移
php artisan vendor:publish
用法
房东控制器
房东控制器创建令牌并将用户重定向到租户以实现自动登录。
创建租户后可以使用 redirectTenant 方法
use elrod\MultitenancyImpersonate\Traits\CanImpersonate; class ImpersonateController { use CanImpersonate; public function redirectTenant($id) { $tenant = Tenant::find($id); $redirect_url = "http://{$tenant->domain}/admin"; $token = $this->createToken($tenant,auth()->user(),$redirect_url); $this->impersonate($tenant,$token->token,auth()->user()); $tenant_url = "http://{$tenant->domain}/admin/impersonate"; return redirect("{$tenant_url}/{$token->token}"); } }
创建路由
Route::get('/admin/impersonate/{token}', function ($token) { $impersonate = ImpersonateToken::where('token',$token)->first(); $user = User::find($impersonate->user_id); Auth::login($user); return redirect()->route('admin'); }); Route::middleware(['auth:sanctum', 'verified'])->get('/admin', function () { return 'Hello World'; })->name('admin');
鸣谢
许可证
MIT 许可证(MIT)。请参阅 许可证文件 获取更多信息。