Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. PHP
Code

Menggunakan Fasad Otentikasi Laravel 5

by
Difficulty:BeginnerLength:MediumLanguages:

Indonesian (Bahasa Indonesia) translation by ⚡ Rova Rindrata (you can also view the original English article)

Otentikasi adalah bagian dari hampir semua aplikasi web tempat Anda bekerja. Benar-benar membosankan untuk terus mengulangi semua kode boilerplate di setiap proyek. Nah, kabar baiknya adalah Laravel 5 membantu Anda mengatasi kebosanan ini dengan menyediakan fasad otentikasi siap pakai.

Yang perlu Anda lakukan adalah mengkonfigurasi dan menyesuaikan penyedia layanan otentikasi dengan kebutuhan proyek Anda. Dalam tip cepat ini, saya akan menunjukkan kepada Anda bagaimana cara melakukannya.

Mencari Jalan Pintas?

Jika Anda ingin solusi siap pakai, dicoba dan diuji, cobalah Vanguard - Advanced PHP Login and User Management di Envato Market. Ini adalah aplikasi PHP, yang ditulis dalam Laravel 5.2, yang memungkinkan pemilik situs web dengan cepat menambahkan dan mengaktifkan otentikasi, otorisasi, dan manajemen pengguna di situs web mereka.

Vanguard - Advanced PHP Login and User Management on Envato Market
Vanguard - Advanced PHP Login and User Management di Envato Market

Menyiapkan Lingkungan

Saya akan menganggap Anda memulai dengan instalasi Laravel 5 yang baru, tetapi Anda dapat melewati salah satu dari langkah-langkah ini jika Anda telah melakukannya. Pertama, Anda akan mengatur beberapa variabel lingkungan dalam file .env di root proyek Anda. Pada dasarnya, ini ada hubungannya dengan konfigurasi database.

Perhatikan variabel APP_ENV, DB_HOST, DB_DATABASE, DB_USERNAME, dan DB_PASSWORD. Variabel APP_ENV memberi tahu Laravel lingkungan mana kami ingin menjalankan aplikasi web kami. Sisa nama variabel database cukup jelas.

Ini semua yang perlu Anda lakukan untuk mengkonfigurasi koneksi database. Tapi bagaimana Laravel memanfaatkan variabel-variabel ini? Mari kita periksa file config/database.php. Anda akan melihat penggunaan fungsi env(). Misalnya, env('DB_HOST', 'localhost'). Laravel 5 menggunakan fungsi ini untuk menangkap variabel dari array global $_ENV dan $_SERVER, yang secara otomatis diisi dengan variabel yang Anda tetapkan dalam file .env.

Mengatur Migrasi

Jalankan php artisan migrate:install --env=local di terminal Anda di root proyek Anda untuk menginstal migrasi secara lokal. Juga perhatikan bahwa ada dua migrasi yang sudah didefinisikan dalam folder database/migrations. Dengan menggunakan migrasi ini, Laravel 5 membuat tabel users dan password_resets, memungkinkan boilerplate otentikasi default agar bekerja. Saya akan membuat migrasi ketiga untuk memodifikasi tabel users hanya untuk menunjukkan cara menyesuaikan pengaturan otentikasi default.

Jalankan php artisan make:migration alter_users_table_remove_name_add_first_name_last_name di terminal untuk membuat migrasi ketiga.

Seperti yang Anda lihat, Anda telah menghapus kolom name dan menambahkan dua kolom lagi untuk first_name dan last_name dengan panjang maksimum 50 karakter. Anda juga telah menambahkan kode yang menggulung kembali perubahan ini dalam database.

Jalankan php artisan migrate di terminal. Jika migrasi berhasil, Anda harus dapat melihat kedua tabel dalam database Anda dengan kolom yang Anda tetapkan.

Mengkonfigurasi Layanan Registrar

Anda akan mengonfigurasi layanan Registrar untuk menambahkan kolom tabel users yang baru Anda definisikan.

Edit file app/Services/Registrar.php.

Fungsi validator memvalidasi data yang dikirimkan dari formulir pendaftaran pengguna. Anda telah menghapus kolom name default dan menambahkan kolom first_name dan last_name dengan panjang minimum tiga karakter dan panjang maksimum 50 karakter untuk keduanya. Fungsi create menambahkan pengguna terdaftar ke tabel users dalam database, jadi Anda hanya perlu menyertakan kolom first_name dan last_name ke dalamnya.

Memperbarui Model User

Anda juga perlu memperbarui model User untuk menyertakan kolom first_name dan last_name.

Edit file app/User.php.

Array $fillable menentukan kolom mana dari model yang terbuka untuk modifikasi. Anda biasanya tidak akan menyertakan kolom yang dihasilkan secara otomatis ke dalam array atau kolom yang tidak memerlukan masukan pengguna seperti hash untuk token remember me. Yang telah Anda lakukan adalah memperbarui array $fillable untuk memungkinkan first_name dan last_name dapat ditetapkan secara massal.

Memperbarui View

Akhirnya, Anda hanya perlu memperbarui view front-end untuk menyertakan bidang first_name dan last_name. Pertama, Anda akan memperbarui formulir pendaftaran.

Edit file resources/views/auth/register.blade.php.

Anda telah menambahkan bidang first_name dan last_name ke formulir pendaftaran. Anda juga perlu mengedit tata letak aplikasi default di resources/views/app.blade.php untuk menampilkan nama pengguna yang sudah login ke dalam menu navigasi.

Mengamankan Rute Anda

Untuk mengamankan rute Anda dan hanya mengizinkan pengguna yang login untuk dapat mengaksesnya, Anda perlu menggunakan middleware auth yang disediakan oleh Laravel. The middleware auth dapat ditemukan di app\Http\Middleware\Authenticate.php.

Berikut beberapa contoh cara menggunakannya untuk melindungi rute Anda.

Memodifikasi Rute Otentikasi Default

Anda dapat menjalankan php artisan route:list di terminal untuk memeriksa rute default yang digunakan fasad otentikasi. Anda dapat mengakses rute ini untuk menguji kode otentikasi Anda. Berikut beberapa contoh cara memodifikasi rute ini.

Edit file app/Http/routes.php.

Juga, ingat untuk memanggil URI secara dinamis dalam view dan template email Anda menggunakan helper Laravel. Anda dapat melihat cara melakukannya di repositori GitHub dari tip cepat ini.

Pemikiran Akhir

Fitur pengaturan ulang kata sandi mengirimkan tautan pengaturan ulang kata sandi ke email pengguna, jadi pastikan Anda memiliki konfigurasi mail yang diatur dalam proyek Laravel Anda. Template view untuk email pengaturan ulang kata sandi ada di resources/views/emails/password.blade.php. Anda juga dapat mengkonfigurasi beberapa opsi dasar lainnya di file config/auth.php.

Saya harap tip cepat ini mudah diikuti. Sampai potongan Tuts+ saya berikutnya, selamat mengkode!

By the way, jika Anda membutuhkan bantuan tambahan dengan memperbaiki bug atau membuat kustomisasi yang Anda tidak nyaman dengannya, hubungi salah satu penyedia layanan PHP di Envato Studio. Mereka dapat membantu Anda dengan berbagai masalah dengan cepat dan andal, sehingga dengan investasi uang kecil, Anda dapat menghemat banyak waktu!

PHP service providers on Envato Studio
Penyedia layanan PHP di Envato Studio

Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.