есть 'auth_rule- isAuthor. Вроде бы все по логике работает - 'user' просматривая блог,admin.site.com/blog/blog/view?id=18 созданный пользователем 'content' не видит кнопок 'update', 'delete' как другие, т.к. прав не имеет.
class SiteController extends Controller
{
/**
* @inheritdoc
*/
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'actions'=> ['index'],
'allow' => true,
'roles' => ['canAdmin'],
/* 'roles' => ['?'],*/
],
[
'actions' => ['login', 'error'],
'allow' => true,
],
[
'actions' => ['logout','save-redactor-img','save-img'],
'allow' => true,
'roles' => ['@'],
],
],
],
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'logout' => ['post'],
],
],
];
}
/**
* @inheritdoc
*/'params' => $params,
'on beforeAction' => function($event){ //цепляемся за событие перед запуском экшена
Yii::$app->controller->attachBehavior('',[ //цепляем к текущему контролеру поведение
'class' => \yii\filters\AccessControl::className(), //указываем класс поведения
'except' => ['login','error','register'],
//исключим из правила экшены login и error, так как они должны быть доступны всем
'rules' => [
[
'allow' => true, //разрешаем доступ
'roles' => ['@'], //'@' только зарегистрированным пользователям или замените на 'admin', что бы только админам позволить
],
],
]);
},
public function actionCreate()
{
if(!Yii::$app->user->can('createObject')){
throw new ForbiddenHttpException(UsersModule::t('module', 'ERROR_FORBIDDEN_TEXT'));
}
/* остальной код */
}<?php
if(Yii::$app->user->can('admin')) :
?>
<?= Html::a(UsersModule::t('module', 'USERS_BUTTON_DELETE'),
['delete', 'id' => $model->id],
[
'class' => 'btn btn-danger',
'data' => [
'confirm' => 'Удалить?',
'method' => 'post',
],
]
) ?>
<?php
endif;
?>Сейчас доступ в backend есть всем зарегистрированным пользователям.
Зарегистрированным пользователям нечего там делать, зачем давать доступ?
то легко может удалить либо отредактировать любой пост
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'actions'=> ['index'],
'allow' => true,
'roles' => ['canAdmin'],
/* 'roles' => ['?'],*/
],
[
'actions' => ['login', 'error'],
'allow' => true,
],
[
'actions' => ['logout','save-redactor-img','save-img'],
'allow' => true,
'roles' => ['@'],
],
],
],
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'logout' => ['post'],
],
],
];
}
/**

