Minggu, 17 Januari 2021

Tutorial PHP Lumen Authorization

Langkah-langkahnya adalah seperti berikut ini:

1. Membuat Database Migration dengan menjalankan cmd

php artisan make:migration add_role_to_users_table --table=users


2. Buka file database/migrations/..._add_role_to_users_table.php, dan ubah


3. Jalankan cmd : php artisan migrate


4. Secara default column role yang sudah terdaftar di database menjadi role=reader. 
5. Kita akan memerlukan 3 users dengan role yang berbeda, silahkan bikin user dengan role: - admin - editor - reader 
6. Selesai 

Kebutuhan User Role
Setiap role dari user, memiliki kemampuan yang berbeda-beda, yaitu: 
1. Admin 
- Bisa read all posts 
- Bisa read detail post 
- Bisa create posts 
- Bisa update post 
- Bisa delete post 
2. Editor 
- Bisa read all posts (yang dibuat oleh user yang lagi login) 
- Bisa read detail post (yang dibuat oleh user yang lagi login) 
- Bisa create posts 
- Bisa update post (yang dibuat oleh user yang lagi login) 
- Bisa delete post (yang dibuat oleh user yang lagi login) 
3. Reader - Bisa read all posts - Bisa read detail post - Bisa memberikan comment pada post tertentu 
4. Selesai

Membuat Logika Policy Pada Read All Post 
1. Buka file app/Providers/AuthServiceProvider.php, codenya seperti ini.
Lihat pada bagian line 5 - 6 dan line 34 - 43. 


2. Buka file app/Http/Controllers/PostsController.php, tambahkan Gate class dan ubah function index. Lihat line 8 dan line 19 - 37.


3. Login dengan user yang role = ‘user’, 


4. Login dengan user yang role = ‘admin’ atau ‘editor’,


5. Selesai

Membuat Logika Policy Pada Update Post

1. Buka file app/Providers/AuthServiceProvider.php, codenya seperti dibawah. Lihat line 43 - 54.\\


2. Buka file app/Http/Controllers/PostsController.php, ubah function update. Lihat diline 116 - 133.


3. Login dengan user yang role = ‘user’, 


4. Login dengan user yang valid authorization nya, 


5. Selesai


















 

Tidak ada komentar:

Posting Komentar

Setting Up VM and Domain

  Membuat Folder Khusus Aplikasi - Login SSH terlebih dahulu - Ketikan PWD - Buat folder dengan mengetikan seperti dibawah - Kemudian la...