/** * 系统内部检测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); } }
public static function deleteAllByUserId($userId) { return UserAssignModel::deleteAll('user_id = :uid', [':uid' => $userId]); }
/** * 删除一个用户分配 */ 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); } }