سطح دسترسی RBAC در Yii2 (قسمت سوم)
مرحله ی آخر RBAC استفاده از آن در پروژه می باشد
برای بررسی سطوح دسترسی برای اکشن ها
در کنترلر به صورت مجوز ها را بررسی می کنیم
public function behaviors() { return [ 'access' => [ 'class' => AccessControl::className(), 'rules' => [ [ 'allow' => true, 'actions' => ['index'], 'roles' => ['managePost'], ], [ 'allow' => true, 'actions' => ['view'], 'roles' => ['viewPost'], ], [ 'allow' => true, 'actions' => ['create'], 'roles' => ['createPost'], ], [ 'allow' => true, 'actions' => ['update'], 'roles' => ['updatePost'], ], [ 'allow' => true, 'actions' => ['delete'], 'roles' => ['deletePost'], ], ], ], ]; }
سطح دسترسی RBAC در Yii2 (قسمت سوم)
می توانیم مشخص کنیم هر اکشن نیاز به چه مجوزی دارد .
مثلا برای اکشن view باید مجوز viewPost وجود داشته باشد .
همچنین می توانید با کد زیر داشتن مجوز کاری را برای کاربر بررسی کنید.
\Yii::$app->user->can('updateOwnPost')
برای کد بالا بررسی می شود که کاربر آیا توانایی ویرایش نوشته های خود را دارد یا نه.