Rumah > rangka kerja php > Laravel > teks badan

Bagaimana untuk melaksanakan fungsi log masuk dalam laravel5.3 (perkongsian proses)

PHPz
Lepaskan: 2023-04-03 19:55:31
asal
512 orang telah melayarinya

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.

  1. Buat Pengawal Pengesahan

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
Salin selepas log masuk

Arahan ini akan menjana fail paparan dan pengawal yang boleh digunakan untuk menyesuaikan logik pengesahan.

  1. Tentukan model pengguna

Untuk melaksanakan fungsi pengesahan, model pengguna yang sepadan diperlukan. Boleh dijana melalui perintah Artisan:

php artisan make:model User -m
Salin selepas log masuk

Arahan ini akan menjana fail model pengguna dan fail migrasi pangkalan data. Adalah disyorkan untuk menamakan jadual data pengguna "pengguna".

  1. Kemas kini model 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',
];
Salin selepas log masuk
  1. Kata laluan yang disulitkan

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']),
   ]);
}
Salin selepas log masuk
  1. Menulis Paparan Log Masuk

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.

  1. Tentukan laluan log masuk

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');
Salin selepas log masuk

Laluan ini akan menghala ke kaedah log masuk pengawal Auth dan mengendalikan permintaan POST untuk borang log masuk.

  1. Mengendalikan permintaan 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.',
      ]);
}
Salin selepas log masuk

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.

  1. Fungsi Log Keluar

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');
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan