Rumah >rangka kerja php >Laravel >Penjelasan terperinci tentang cara mensimulasikan pengguna dalam aplikasi Laravel (dengan langkah kod)
Artikel ini membawakan anda pengetahuan yang berkaitan tentang Laravel. Ia terutamanya memperkenalkan apa itu Laravel Nova? Bagaimana untuk mensimulasikan pengguna dalam aplikasi Laravel? Bagi yang berminat, sila lihat di bawah, semoga bermanfaat.
Ciri baharu dalam Laravel Nova ialah penyamaran pengguna dalam panel kawalan. Ini mudah untuk banyak sebab. Tetapi bagi saya, apabila saya mendapat laporan atau isu pepijat dan ingin melihat perkara yang pengguna lihat, mensimulasikannya menjimatkan banyak masa kerana anda boleh melihat perkara yang mereka lihat.
Jika anda juga ingin melaksanakan fungsi ini dalam apl Laravel anda, pakej Laravel Impersonate memudahkannya.
composer require lab404/laravel-impersonate
Kemudian, buka config/app.php dan tambahkannya pada tatasusunan penyedia:
'providers' => [ // ... Lab404\Impersonate\ImpersonateServiceProvider::class, ],
Selepas itu, buka Model/Pengguna dan tambah ciri:
use Lab404\Impersonate\Models\Impersonate; class User extends Authenticatable { use Impersonate;
Pakej Laravel Impersonate mengandungi beberapa kaedah untuk menyamar sebagai pengguna, tetapi saya rasa paling mudah untuk menambahkan makro penghalaan ke fail route/web.php:
Route::impersonate();
Ini memberi anda beberapa laluan bernama:
// Where $id is the ID of the user you want to impersonate route('impersonate', $id) // Or in case of multi guards, you should also add `guardName` (defaults to `web`) route('impersonate', ['id' => $id, 'guardName' => 'admin']) // Generate an URL to leave the current impersonation route('impersonate.leave')
Setelah Laravel Impersonate disediakan, anda boleh menggunakan pembantu templat:
@canImpersonate($guard = null) <a href="{{ route('impersonate', $user->id) }}">Impersonate this user</a> @endCanImpersonate
dan kemudian terbalik:
@impersonating($guard = null) <a href="{{ route('impersonate.leave') }}">Leave impersonation</a> @endImpersonating
Perkara lain yang mungkin anda pertimbangkan ialah mengehadkan orang yang boleh menyamar sebagai pengguna lain dan pengguna yang boleh menyamar sebagai pengguna. Dalam Model/Pengguna, anda boleh menambah kaedah berikut:
/** * By default, all users can impersonate anyone * this example limits it so only admins can * impersonate other users */ public function canImpersonate(): bool { return $this->is_admin(); } /** * By default, all users can be impersonated, * this limits it to only certain users. */ public function canBeImpersonated(): bool { return ! $this->is_admin(); }
Pembelajaran yang disyorkan: "tutorial video laravel"
Atas ialah kandungan terperinci Penjelasan terperinci tentang cara mensimulasikan pengguna dalam aplikasi Laravel (dengan langkah kod). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!