Ini tulisan kedua dari tulisan sebelumnya Tutorial yii2-admin 1. Ternyata lebih cepat dari perkiraan semula :D. Kita masih belum akan ke instalasi dan konfigurasi. Kita masih akan mendalami konsep RBAC itu sendiri. Karena secara teori, kalau paham konsep RBAC, harusnya akan lebih mudah menggunakan yii2-admin. Kali ini kita akan bahas lebih banyak tentang rule.
Membuat Rule
Rule dibuat dengan meng-extends class yii\rbac\Rule dan mengoverride method execute(). Kita buat contoh yang lebih mudah dulu. Misal ada user yang sama-sama dapat permission update_post. Tetapi ada tambahan aturan yaitu hanya boleh mengedit artikel yang dia tulis saja. Maka rulenya
namespace app\components;
use yii\rbac\Rule;
class OnlyAuthor extends Rule
{
public function execute($user, $item, $params)
{
$model = $params['post'];
return $user->id == $model->author_id;
}
}