Laravel ialah rangka kerja Web PHP sumber terbuka yang menyediakan pembangun dengan banyak fungsi praktikal dan API yang mudah, dengan sangat memendekkan kitaran pembangunan dan mengurangkan kos pembangunan. Dalam Laravel 5.3, fungsi log masuk dirangkumkan ke dalam perkhidmatan bebas, yang boleh meningkatkan keselamatan dan pengalaman pengguna. Artikel ini akan memperkenalkan proses log masuk Laravel 5.3.
Dalam Laravel 5.3, aplikasi memerlukan pengawal pengesahan untuk mengendalikan log masuk dan log keluar. Pengawal boleh dijana dengan cepat menggunakan arahan Artisan. Hasilkan pengawal Auth dengan memasukkan perintah berikut dalam terminal:
php artisan make:auth
Arahan ini akan menjana fail paparan dan pengawal yang boleh digunakan untuk menyesuaikan logik pengesahan.
Untuk melaksanakan fungsi pengesahan, model pengguna yang sepadan diperlukan. Boleh dijana melalui perintah Artisan:
php artisan make:model User -m
Arahan ini akan menjana fail model pengguna dan fail migrasi pangkalan data. Adalah disyorkan untuk menamakan jadual data pengguna "pengguna".
Secara lalai, Laravel 5.3 menjangkakan jadual data pengguna mempunyai dua medan: "e-mel" dan "kata laluan". Jika anda ingin menggunakan medan lain untuk pengesahan, anda perlu menentukan medan ini dalam model pengguna. Buka fail app/User.php dan tambah kandungan berikut:
protected $fillable = [ 'name', 'email', 'password', ];
Laravel 5.3 mempunyai algoritma penyulitan cincang bcrypt terbina dalam, yang boleh mencincang kata laluan untuk meningkatkan keselamatan. Apabila mendaftarkan pengguna baharu, anda boleh menyulitkan kata laluan menggunakan kod berikut:
protected function create(array $data) { return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), ]); }
Laravel 5.3 menyediakan gaya untuk halaman log masuk dan pendaftaran, Boleh digunakan terus. Walau bagaimanapun, ia boleh disesuaikan mengikut keperluan. Dalam fail resources/views/auth/login.blade.php, anda boleh menambah kod HTML dan CSS tersuai dan memaparkannya menggunakan enjin templat Blade Laravel.
Untuk fungsi log masuk, anda perlu menentukan laluan POST, yang akan mengandungi borang log masuk dan logik untuk mengendalikan penyerahan borang. Dalam fail route/web.php, tambahkan laluan berikut:
Route::post('/login', 'Auth\LoginController@login');
Laluan ini akan menghala ke kaedah log masuk pengawal Auth dan mengendalikan permintaan POST untuk borang log masuk.
Dalam pengawal Auth, anda perlu menambah kaedah log masuk untuk mengendalikan permintaan log masuk. Kaedah ini akan mengesahkan kelayakan yang diberikan oleh pengguna dan, jika berjaya, mengubah hala pengguna ke halaman utama aplikasi. Berikut ialah contoh kod untuk kaedah log masuk pengawal Auth:
public function login(Request $request) { $this->validate($request, [ 'email' => 'required|email|max:255', 'password' => 'required|min:6', ]); $credentials = $request->only('email', 'password'); if (Auth::attempt($credentials, $request->has('remember'))) { return redirect()->intended('/home'); } return redirect()->back() ->withInput($request->only('email', 'remember')) ->withErrors([ 'email' => 'These credentials do not match our records.', ]); }
Dalam kaedah ini, permintaan itu mula-mula disahkan menggunakan kelas pengesah Laravel. Selepas pengesahan diluluskan, medan e-mel dan kata laluan akan diperolehi daripada permintaan. Bukti kelayakan ini kemudiannya disahkan menggunakan kaedah percubaan dalam kelas Auth yang disediakan oleh Laravel. Jika pengesahan lulus, pengguna dialihkan ke halaman utama aplikasi menggunakan kaedah ubah hala Laravel. Jika pengesahan gagal, pengguna dialihkan semula ke halaman log masuk dengan mesej ralat.
Dalam Laravel, fungsi log keluar adalah sangat mudah Anda hanya perlu memanggil kaedah log keluar dalam kelas Auth:
public function logout(Request $request) { Auth::logout(); $request->session()->invalidate(); return redirect('/login'); }
Kaedah ini akan memanggil kaedah Auth::logout, memisahkan pengguna semasa daripada permintaan dan membatalkan sesi. Kemudian, ubah hala pengguna ke halaman log masuk aplikasi.
Ringkasan
Dalam Laravel 5.3, melaksanakan fungsi log masuk adalah sangat mudah Anda hanya perlu mencipta pengawal pengesahan, tentukan model pengguna, tulis paparan log masuk, tentukan laluan log masuk dan proses. permintaan log masuk. Menggunakan fungsi Laravel yang berkuasa dan API yang mudah, anda boleh melaksanakan sistem log masuk yang selamat dan cekap dengan mudah.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan fungsi log masuk dalam laravel5.3 (perkongsian proses). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!