Authorization
Implementasi Relationship Antara Model User dan BlogPost
1. Saat ini di table blog_post kita sudah memiliki column user_id, namu tid model ya kita belum melakukan implementasi relationship. Sekarang kita akan mengimplementasikan relationship di model User dan BlogPost.
2. User has-many BlogPost dan BlogPost belongs-to User. Implemetasi nya nanti seperti gambar dibawah ini
3. Buka file app/Models/BlogPost.php, tambahkan code dibawah ini. Line 24 -28.
4. Buka file app/Models/User.php, tambahkan code dibawah ini. Line 44 - 48.
5. Buka file resources/views/posts/partials/post.blade.php, tambahkan code dibawah ini. Line 7 - 10.
7. Silahkan buka halaman http://localhost:8000/posts dan http://localhost:8000/posts/1.
Implementasi Update Post Hanya Oleh User Yang Meng-Create Post Tersebut Menggunakan Laravel Gate
1. Buka file app/Providers/AuthServiceProvider.php, tambahkan code dibawah ini. Line 28 - 31.
2. B u k a file a p p / H t t p / C o n t r olle r s / P o s t s C o n t r olle r.p h p, t a m b a h k a n c o d e dib a w a h ini. Lin e 8 d a n lin e 1 2 7 - 1 3 0.
3. Sekarang coba login dengan user.satu@gmail.com (atau user lain), kemudian edit salah satu blog post yang di create oleh user lain, maka ketika tombol update di klik akan muncul error 403 forbidden.
Implementasi SuperUser Dan Override Permission
1. Kita akan mengimplementasikan superuser, yang mana user ini bisa override permission atau atuthorization yang ada. Untuk implementasi superuser kita akan menambahkan column is_admin ketable users.
2. Buat migration baru dengan menjalankan command dibawah ini. php artisan make:migration AddIsAdminToUsersTable
3. Buka file database/migrations/2021_xx_xx_xxxxxx_add_is_admin_to_users_table.php, dan tambahkan code dibawah ini. Line 17 dan 29
Comments
Post a Comment