fix: 修复cname校验报该授权无权限的bug

This commit is contained in:
xiaojunnuo
2026-03-25 12:48:47 +08:00
parent 2ab92dc13e
commit b1eb706925
3 changed files with 12 additions and 13 deletions

View File

@@ -3,8 +3,8 @@ import { IAccessService } from '@certd/pipeline';
export class AccessGetter implements IAccessService { export class AccessGetter implements IAccessService {
userId: number; userId: number;
projectId?: number; projectId?: number;
getter: <T>(id: any, userId?: number, projectId?: number) => Promise<T>; getter: <T>(id: any, userId?: number, projectId?: number, ignorePermission?: boolean) => Promise<T>;
constructor(userId: number, projectId: number, getter: (id: any, userId: number, projectId?: number) => Promise<any>) { constructor(userId: number, projectId: number, getter: (id: any, userId: number, projectId?: number, ignorePermission?: boolean) => Promise<any>) {
this.userId = userId; this.userId = userId;
this.projectId = projectId; this.projectId = projectId;
this.getter = getter; this.getter = getter;

View File

@@ -20,7 +20,7 @@ import * as commercial from '@certd/commercial-core';
import * as upload from '@midwayjs/upload'; import * as upload from '@midwayjs/upload';
import { setLogger } from '@certd/acme-client'; import { setLogger } from '@certd/acme-client';
import {HiddenMiddleware} from "./middleware/hidden.js"; import {HiddenMiddleware} from "./middleware/hidden.js";
import * as swagger from '@midwayjs/swagger'; // import * as swagger from '@midwayjs/swagger';
//@ts-ignore //@ts-ignore
// process.env.UV_THREADPOOL_SIZE = 2 // process.env.UV_THREADPOOL_SIZE = 2
process.on('uncaughtException', error => { process.on('uncaughtException', error => {
@@ -62,10 +62,10 @@ process.on('uncaughtException', error => {
upload, upload,
libServer, libServer,
commercial, commercial,
{ // {
component: swagger, // component: swagger,
enabledEnvironment: ['local'] // enabledEnvironment: ['local']
}, // },
{ {
component: info, component: info,
enabledEnvironment: ['local'], enabledEnvironment: ['local'],

View File

@@ -8,7 +8,7 @@ import {
SysSettingsService, SysSettingsService,
ValidateException ValidateException
} from "@certd/lib-server"; } from "@certd/lib-server";
import { CnameProvider, CnameRecord, IAccessService } from "@certd/pipeline"; import { CnameProvider, CnameRecord } from "@certd/pipeline";
import { createDnsProvider, DomainParser, IDnsProvider } from "@certd/plugin-cert"; import { createDnsProvider, DomainParser, IDnsProvider } from "@certd/plugin-cert";
import { Inject, Provide, Scope, ScopeEnum } from "@midwayjs/core"; import { Inject, Provide, Scope, ScopeEnum } from "@midwayjs/core";
import { InjectEntityModel } from "@midwayjs/typeorm"; import { InjectEntityModel } from "@midwayjs/typeorm";
@@ -252,7 +252,6 @@ export class CnameRecordService extends BaseService<CnameRecordEntity> {
} }
await this.getByDomain(bean.domain, bean.userId,bean.projectId); await this.getByDomain(bean.domain, bean.userId,bean.projectId);
const taskService = this.taskServiceBuilder.create({ userId: bean.userId, projectId: bean.projectId }); const taskService = this.taskServiceBuilder.create({ userId: bean.userId, projectId: bean.projectId });
const subDomainGetter = await taskService.getSubDomainsGetter(); const subDomainGetter = await taskService.getSubDomainsGetter();
const domainParser = new DomainParser(subDomainGetter); const domainParser = new DomainParser(subDomainGetter);
@@ -290,10 +289,10 @@ export class CnameRecordService extends BaseService<CnameRecordEntity> {
}); });
} }
const serviceGetter = this.taskServiceBuilder.create({ userId: bean.userId, projectId: bean.projectId }); const record = await this.getWithAccessByDomain(bean.domain, bean.userId,bean.projectId);
const accessGetter:IAccessService = await serviceGetter.get("accessService");
const access = await accessGetter.getById(cnameProvider.accessId); const access = record.cnameProvider.access
const context = { access, logger, http, utils, domainParser, serviceGetter }; const context = { access, logger, http, utils, domainParser, serviceGetter:taskService };
const dnsProvider: IDnsProvider = await createDnsProvider({ const dnsProvider: IDnsProvider = await createDnsProvider({
dnsProviderType: cnameProvider.dnsProviderType, dnsProviderType: cnameProvider.dnsProviderType,
context context