checkAccess() публичный Метод

public checkAccess ( $userId, $permissionName, $params = [] )
Пример #1
0
 /**
  * @inheritdoc
  */
 public function checkAccess($userId, $permissionName, $params = [])
 {
     $permissionName = preg_replace('#^\\/(.*)#', '$1', $permissionName);
     foreach ($this->getPermissions() as $permission) {
         if ($permission->type == $permission::TYPE_ROLE) {
             continue;
         }
         if (!preg_match('#^' . $permission->name . '$#', $permissionName)) {
             continue;
         }
         if (parent::checkAccess($userId, $permission->name, $params)) {
             return true;
         }
     }
     return parent::checkAccess($userId, $permissionName, $params);
 }
Пример #2
0
 public function checkAccess($userId, $permission, $params = [])
 {
     if (isset(Yii::$app->user)) {
         $user = Yii::$app->user->identity;
         if (!$user || $user->id != $userId) {
             $user = call_user_func([Yii::$app->user->identityClass, 'findIdentity'], $userId);
         }
         if (isset($user->username)) {
             $userId = $user->username;
         }
         if (isset($user->roles)) {
             $this->setAssignments($user->roles, $userId);
         }
     }
     return parent::checkAccess($userId, $permission, $params);
 }