Skip to main content

PHP LUMEN AUTHORIZATION

Menambahkan column role pada table "pengguna"
Buka cmd lalu masukan ke dalam folder LumenServicesApp
ketik " php artisan make:migration add_role_to_pengguna_table --table=pengguna ".



buka file database/migration buka file add_role_to_pengguna_table.php isikan

 Line 17  $table->enum('role',array('reader','editor','admin'))->default('reader')->after('password');
 Line 29  $table->dropColumn('role');


masuk ke cmd lalu ketikan php artisan migrate.

Setelah itu cek ke db nya. kolom role akan otomatis mejadi role=reader


Kebutuhan User RoleSetiap role dari user, memiliki kemampuan yang berbeda-beda, yakni
: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

Logika police ini berguna untuk menentukan role apa bisa mengakses data apa. Untuk implementasi kebutuhan user role diatas, kita akan menggunakan fitur ​policies​ dari Lumen.
Untuk membuat logika policy pada read all, mari ikuti langkah-langkah dibawah ini:

Buka file app/Providers/AuthServiceProvider.php, codenya seperti dibawah ini. Lihat line5 - 6 dan line 34 sampai 36.


Buka file app/Http/Controllers/MomongaController.php, tambahkan Gate class dan ubah function index.


tambah code pada line 8, line 14-26 seperti gambar diatas.

...


Comments

Popular posts from this blog

Microservice

Hallo semuanya, saya sudah lama tidak update di blog ini hehe, pembahasan untuk kali ini yaitu Microservices, langsung saja saya akan jelaskan di bawah yaa, cekidot gan PENGENALAN Apa itu Microservice? Microservice adalah sebuah aplikasi yang terbagi menjadi beberapa projek kecil yang dalam masing-masing projek tersebut terdapat berbeda layanan yang saling terhubung dan saling melengkapi satu sama lain, perhatikan gambar di bawah ini. terlihat dari gambar di atas ibaratkan kotak oranye adalah server, nah dalam server tersebut terdapat hanya satu layanan, jika dibandingkan dengan  perhatikan gambar di bawah ini. Ibaratkan semua ini di dalam satu server, hanya dengan satu server terdapat banyak layanan sekaligus, terlihat lebih efisien jika dibandingkan dengan Microservice, namun apakah demikian? mari kita lihat perbandingan Microservice dan Monolithic Untuk yang Monolithic   - Jika aplikasi makin kompleks dan penggunanya makin banyak, kenaikan biaya

CodeIgniter Tutor - mengubah ukuran upload

Halo disini aku langsung cepet aja ya karena simple tutorialnya pertama Bukalah file grocery_crud.php dari application/config . Ganti baris: $config['grocery_crud_file_upload_max_file_size'] = '20MB'; Menjadi $config['grocery_crud_file_upload_max_file_size'] = '200MB'; Maka kalian telah berhasil melakukan perubahan upload size. Jangan lupa save ya. selanjutnya buka XAMPP. Cari php.ini dan klik php.ini Pada file PHP.ini cari upload_max_filesize ubah ukuran sesuai dengan keinginan. Jangan lupa save ya selesai :D

PHP LUMEN CONTENT NEGOTIATION

Halo semua, kali ini aku akan melanjutkantutorial dari Web Service Rest CRUD yang lalu, sekarang aku akan membuatkan service agar bisa melakukan Content Negotiation . Fungsi Read All 1.Fungsi Read ini akan melakukan satu validasi, yakni: -melakukan validasi Accept Header: hanya menerima application/json atauapplication/xml -Accept Header ini akan menentukan response format yang di kembalikan 2.Buka file app/Http/Controllers/PostsController.php dan update function store lalu masukkan script tambahan dibawah ini. 3. Lalu buka aplikasi postman dan test,coba tanpa mengirimkan accept request header, bila responnya "not acceptable" maka berhasil. 4. Sekarang kita coba tambahkan request header. klik tab samping headers(disamping tab body yang masih aktif) beri accept header dengan value application/json. hasilnya akan seperti ini. 5. coba ubah value menjadi application/xml menjadi seperti ini. Selesai Set response format pada bagian ini kita akan me