public function init()
 {
     parent::init();
     $this->controller->attachBehavior('accessCreate', ['class' => AdminAccessControl::className(), 'only' => [$this->id], 'rules' => [['allow' => true, 'matchCallback' => function ($rule, $action) {
         //Если такая привилегия заведена, нужно ее проверять.
         if ($permission = \Yii::$app->authManager->getPermission(CmsManager::PERMISSION_ALLOW_MODEL_CREATE)) {
             if (!\Yii::$app->user->can($permission->name)) {
                 return false;
             }
         }
         return true;
     }]]]);
 }
Exemple #2
0
 /**
  * Проверка доступа к админке
  * @return array
  */
 public function behaviors()
 {
     return ['adminAccess' => ['class' => AdminAccessControl::className(), 'rules' => [['allow' => true, 'roles' => [CmsManager::PERMISSION_ADMIN_ACCESS]]]], 'adminActionsAccess' => ['class' => AdminAccessControl::className(), 'rules' => [['allow' => true, 'matchCallback' => function ($rule, $action) {
         if ($permission = \Yii::$app->authManager->getPermission($this->permissionName)) {
             if (!\Yii::$app->user->can($permission->name)) {
                 return false;
             }
         }
         return true;
     }]]], 'adminLastActivityAccess' => ['class' => AdminLastActivityAccessControl::className(), 'rules' => [['allow' => true, 'matchCallback' => function ($rule, $action) {
         if (\Yii::$app->user->identity->lastAdminActivityAgo > \Yii::$app->admin->blockedTime) {
             return false;
         }
         if (\Yii::$app->user->identity) {
             \Yii::$app->user->identity->updateLastAdminActivity();
         }
         return true;
     }]]]];
 }
 public function init()
 {
     parent::init();
     //Для работы с любой моделью нужно как минимум иметь привилегию CmsManager::PERMISSION_ALLOW_MODEL_UPDATE
     $this->controller->attachBehavior('accessCreate', ['class' => AdminAccessControl::className(), 'only' => [$this->id], 'rules' => [['allow' => true, 'matchCallback' => [$this, 'checkUpdateAccess']]]]);
 }
Exemple #4
0
 /**
  * Проверка доступа к админке
  * @return array
  */
 public function behaviors()
 {
     return ['adminAccess' => ['class' => AdminAccessControl::className(), 'rules' => [['allow' => true, 'roles' => [CmsManager::PERMISSION_EDIT_VIEW_FILES]]]]];
 }
Exemple #5
0
 public function behaviors()
 {
     return ['access' => ['class' => AdminAccessControl::className(), 'only' => ['logout', 'lock'], 'rules' => [['actions' => ['logout', 'lock'], 'allow' => true, 'roles' => ['@']]]], 'verbs' => ['class' => VerbFilter::className(), 'actions' => ['logout' => ['post'], 'lock' => ['post']]]];
 }
 /**
  * @return array
  */
 public function behaviors()
 {
     $behaviors = ArrayHelper::merge(parent::behaviors(), ['verbs' => ['class' => VerbFilter::className(), 'actions' => ['delete' => ['post'], 'delete-multi' => ['post']]], 'accessDelete' => ['class' => AdminAccessControl::className(), 'only' => ['delete'], 'rules' => [['allow' => true, 'matchCallback' => function ($rule, $action) {
         if (Validate::validate(new HasBehavior(BlameableBehavior::className()), $this->model)->isValid()) {
             //Если такая привилегия заведена, нужно ее проверять.
             if ($permission = \Yii::$app->authManager->getPermission(CmsManager::PERMISSION_ALLOW_MODEL_DELETE)) {
                 if (!\Yii::$app->user->can($permission->name, ['model' => $this->model])) {
                     return false;
                 }
             }
         }
         return true;
     }]]]]);
     return $behaviors;
 }
 /**
  * Проверка доступа к админке
  * @return array
  */
 public function behaviors()
 {
     return ArrayHelper::merge(parent::behaviors(), ['adminViewEditAccess' => ['class' => AdminAccessControl::className(), 'only' => ['view-file-edit'], 'rules' => [['allow' => true, 'roles' => [CmsManager::PERMISSION_EDIT_VIEW_FILES]]]]]);
 }