Пример #1
0
 /**
  * 系统内部检测user_id是否可以请求当前资源节点
  *
  * @param mixed $userId 用户ID
  * @return string
  */
 public static function isAllowed($userId, $systemId = 0)
 {
     try {
         $userAssigns = UserAssignModel::getAllByUserId($userId);
         $roleIdsArray = array_column($userAssigns, UserAssignModel::COL_ROLE_ID);
         $roleAssigns = RoleAssignModel::getAllByRoleIdsArray($roleIdsArray);
         $permissionIdsArray = array_column($roleAssigns, RoleAssignModel::COL_PERMISSION_ID);
         $permissionAssigns = PermissionAssignModel::getAllByPermissionIdsArray($permissionIdsArray);
         $routeIdsArray = array_column($permissionAssigns, PermissionAssignModel::COL_ROUTE_ID);
         $rawRoutes = RouteModel::getAllByIdsArray($routeIdsArray);
         $routes = array_column($rawRoutes, RouteModel::COL_ROUTE);
         $currentRoute = self::getRequestRoute();
         if (in_array($currentRoute, $routes)) {
             return true;
         } else {
             return false;
         }
     } catch (JdbRbacException $e) {
         return Utils::handlerForException($e);
     }
 }
Пример #2
0
 public static function deleteAllByUserId($userId)
 {
     return UserAssignModel::deleteAll('user_id = :uid', [':uid' => $userId]);
 }
Пример #3
0
 /**
  * 删除一个用户分配
  */
 public function actionDeleteOneUserAssign()
 {
     try {
         $userId = Yii::$app->request->post(UserAssignModel::COL_USER_ID);
         UserAssignModel::checkUserId($userId);
         $result = UserAssignModel::deleteAllByUserId($userId);
         return Utils::handlerForResult($result);
     } catch (JdbRbacException $e) {
         return Utils::handlerForException($e);
     }
 }