Di bagian 6 Tutorial Yii2 kali ini, kita akan membahas Access Control, yaitu pengaturan untuk siapa saja yang bisa mengakses suatu halaman web. Disini kita akan memberikan akses ke user yang sudah login untuk melakukan penambahan dan modifikasi post. Apabila user belum login, maka tidak bisa melakukan hal tersebut.
1. Buka file PostsController.php yang berada di folder /basic/controllers dan lakukan modifikasi pada public function behaviors. Dokumentasi bisa dilihat disini, dokumentasi access control Yii2.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
public function behaviors() { return [ 'access'=> [ 'class'=>AccessControl::className(), 'only'=>['create','update'], 'rules'=>[ [ 'allow'=>true, 'roles'=>['@'], ], ], ], 'verbs' => [ 'class' => VerbFilter::className(), 'actions' => [ 'delete' => ['post'], ], ], ]; } |
Jangan lupa menambahkan filter AccessControl pada use.
1 |
use yii\filters\AccessControl; |
2. Buka browser dan masuk ke http://localhost/basic/web/index.php?r=posts/index kemudian coba create post. Sobat akan diminta untuk login terlebih dahulu sebelum melakukan hal ini. Begitu juga apabila sobat ingin melakukan update.
Tutorial ini sebagai dokumentasi dan pembelajaran pribadi sekalian belajar terjemahin bahasa Inggris, dan siapa tahu bermanfaat buat orang lain. Sumber lengkapnya diambil dari Youtube DoingITEasy Channel.
Saya Udah coba caranya ,Tapi pas kok user yang belum login masih bisa create dan update ya,padahal script nya sudah saya samakan lho,mohon bantuannya kak kira kira ada dimana kesalahan script saya