Rumah >rangka kerja php >Laravel >Bagaimana untuk melaksanakan fungsi lompat selepas log masuk dalam laravel
Laravel merupakan rangka kerja web PHP yang paling banyak digunakan pada masa ini Fungsi log masuknya sangat biasa digunakan, dan melompat ke halaman tertentu selepas log masuk berjaya juga merupakan salah satu keperluan biasa. Artikel ini akan memperkenalkan secara terperinci cara melaksanakan fungsi lompat selepas log masuk dalam Laravel.
Jika anda belum memasang Laravel, anda boleh mengikuti langkah berikut untuk memasangnya:
composer global require laravel/installer
laravel new project_name
cd project_name
php artisan serve
Dalam artikel ini, Kami akan menggunakan konfigurasi lalai untuk pembangunan, jika anda telah menggunakan konfigurasi yang berbeza ia mungkin berbeza sedikit.
Sangat mudah untuk melaksanakan fungsi log masuk dalam Laravel, anda hanya perlu menggunakan perisian tengah Auth
. Tambahkan laluan berikut dalam fail routes/web.php
:
Route::get('/login', 'LoginController@showLoginForm')->name('login'); Route::post('/login', 'LoginController@login');
Dua laluan ini sepadan dengan paparan halaman log masuk dan pemprosesan operasi log masuk masing-masing. Antaranya, kaedah LoginController@showLoginForm
digunakan untuk memaparkan borang log masuk, dan kaedah LoginController@login
digunakan untuk memproses permintaan log masuk yang diserahkan oleh pengguna.
Jika anda belum mencipta LoginController
lagi, anda boleh menciptanya dengan cepat dengan arahan berikut:
php artisan make:controller LoginController
Dalam LoginController
, anda boleh menggunakan ciri AuthenticatesUsers
yang disediakan oleh Laravel untuk melaksanakan fungsi log masuk dengan cepat. Anda hanya perlu memperkenalkan ciri ini dalam kelas:
use AuthenticatesUsers; public function __construct() { $this->middleware('guest')->except('logout'); }
Secara lalai, selepas berjaya log masuk, anda akan melompat ke halaman /home
Anda boleh mengubah suai atribut AuthLoginController
dalam $redirectTo
kepada tentukan pengguna Halaman untuk melompat selepas berjaya log masuk.
protected $redirectTo = '/dashboard';//修改为你要跳转的路径
Ia juga sangat mudah untuk melaksanakan lompatan selepas log masuk dalam Laravel Anda hanya perlu mengubah suai atribut $redirectTo
dalam pengawal log masuk. Walau bagaimanapun, jika anda ingin melompat ke halaman yang dilawati pengguna sebelum ini selepas log masuk berjaya, anda perlu melakukan perkara berikut:
RedirectIfAuthenticated
middleware dalam app/Http/Middleware
Cipta fail RedirectIfAuthenticated.php
dalam direktori dan tambahkan kod berikut:
<?php namespace App\Http\Middleware; use Closure; use Illuminate\Support\Facades\Auth; use Illuminate\Http\Request; class RedirectIfAuthenticated { public function handle(Request $request, Closure $next, $guard = null) { if (Auth::guard($guard)->check()) { return redirect()->intended('/dashboard');//修改为登录成功后要跳转的路径 } return $next($request); } }
Kaedah intended
dalam kod akan cuba mengubah hala pengguna ke lokasi di mana mereka asal meminta halaman, jika tiada lokasi sebelumnya, Ia akan mengubah hala ke laluan yang ditentukan secara lalai.
app/Http/Kernel.php
Daftarkan middleware baharu dalam tatasusunan app/Http/Kernel.php
dalam fail $routeMiddleware
:
protected $routeMiddleware = [ // ... 其他中间件省略 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, ];
Dalam pengawal log masuk, ubah suai alamat sasaran ubah hala selepas berjaya log masuk ke kaedah intended
untuk mencapai lompatan ke selepas log masuk Halaman yang dilawati pengguna sebelum ini:
protected $redirectTo = '/dashboard';//删除这行
public function login(Request $request) { $this->validateLogin($request); if ($this->attemptLogin($request)) { // 登录成功后跳转到用户之前访问的页面 return redirect()->intended('/dashboard'); } $this->incrementLoginAttempts($request); return $this->sendFailedLoginResponse($request); }
Dalam artikel ini, kami mengetahui operasi yang diperlukan untuk melaksanakan lompatan selepas log masuk dalam Laravel. Pertama, kita perlu menggunakan Auth
middleware untuk melaksanakan fungsi log masuk. Kemudian, kami melaksanakan lompatan selepas log masuk dengan mengubah suai atribut $redirectTo
dalam pengawal log masuk. Akhir sekali, kami mencipta perisian tengah dan mengubah suai kod dalam pengawal log masuk untuk melompat ke halaman yang dilawati pengguna sebelum melog masuk.
Saya harap artikel ini dapat membantu anda melaksanakan fungsi lompat selepas log masuk dengan mudah dalam Laravel!
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi lompat selepas log masuk dalam laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!