برای بررسی سطوح دسترسی برای اکشن ها
در کنترلر به صورت مجوز ها را بررسی می کنیم
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'],
],
],
],
];
}
می توانیم مشخص کنیم هر اکشن نیاز به چه مجوزی دارد .
مثلا برای اکشن view باید مجوز viewPost وجود داشته باشد .
همچنین می توانید با کد زیر داشتن مجوز کاری را برای کاربر بررسی کنید.
Yii::$app->user->can('updateOwnPost')
برای کد بالا بررسی می شود که اربر آیا توانایی ویرایش نوشته های خود را دارد یا نه.
برچسب:
نویسنده: پندار توکلی