logologo
התחלה
מדריך
פיתוח
תוסף
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
התחלה
מדריך
פיתוח
תוסף
API
logologo
API Overview

@nocobase/auth

AuthManager
Auth
BaseAuth

@nocobase/cache

CacheManager
מטמון

@nocobase/cli

NocoBase CLI
משתני סביבה גלובליים

@nocobase/client

אפליקציה
תוסף

@nocobase/database

אוסף
שדה

interfaces

BaseInterface
אופרטורים לסינון

RelationRepository

BelongsToManyRepository
belongs-to-repository
HasManyRepository
HasOneRepository
מאגר

shared

create-options
destroy-options
find-one
transaction
update-options

@nocobase/data-source-manager

DataSourceManager
DataSource (מופשט)
ICollectionManager
ICollection
IField
IModel
IRepository

@nocobase/flow-engine

מנהל מקורות נתונים
הקשר תהליך
FlowEngine
FlowModel
משאב זרימה

@nocobase/logger

יומן

@nocobase/server

AppCommand
יישום
AuditManager
הקשר
הגירה
תוסף

@nocobase/sdk

אימות
אחסון

@nocobase/telemetry

מדד
טלמטריה
Trace
Previous Pageיישום
Next Pageהקשר
TIP

מסמך זה תורגם על ידי בינה מלאכותית. לכל אי דיוק, אנא עיין בגרסה האנגלית

#AuditManager

#סקירה כללית

AuditManager הוא מודול ניהול ביקורת המשאבים ב-NocoBase, המשמש לרישום ממשקי משאבים הדורשים ביקורת.

#שימוש בסיסי

import { Plugin } from '@nocobase/server';

class PluginCustomAuditResourceServer extends Plugin {
  async load() {
    this.app.auditManager.registerAction('resource:action');
  }
}

#מתודות מחלקה

#setLogger()

מגדיר את שיטת הפלט עבור יומני הביקורת.

const auditManager = new AuditManager();
auditManager.setLogger({
  log: async (auditLog: AuditLog) => console.log(auditLog);
})

#חתימה

  • setLogger(logger: AuditLogger)

#טיפוס

export interface AuditLog {
  uuid: string;
  dataSource: string;
  resource: string;
  action: string;
  sourceCollection?: string;
  sourceRecordUK?: string;
  targetCollection?: string;
  targetRecordUK?: string;
  userId: string;
  roleName: string;
  ip: string;
  ua: string;
  status: number;
  metadata?: Record<string, any>;
}

export interface AuditLogger {
  log(auditLog: AuditLog): Promise<void>;
}

#registerAction()

רושם פעולת משאב שתבוקר.

#חתימה

  • registerAction(action: Action)

#טיפוס

export interface UserInfo {
  userId?: string;
  roleName?: string;
}

export interface SourceAndTarget {
  sourceCollection?: string;
  sourceRecordUK?: string;
  targetCollection?: string;
  targetRecordUK?: string;
}

type Action =
  | string
  | {
      name: string;
      getMetaData?: (ctx: Context) => Promise<Record<string, any>>;
      getUserInfo?: (ctx: Context) => Promise<UserInfo>;
      getSourceAndTarget?: (ctx: Context) => Promise<SourceAndTarget>;
    };

#פרטים

נתמכות מספר דרכי כתיבה:

  1. חל על כל המשאבים
registerActions(['create']);
  1. חל על כל הפעולות של משאב ספציפי resource:*
registerActions(['app:*']);
  1. חל על פעולה ספציפית של משאב ספציפי resource:action
registerAction(['pm:update']);
  1. תומך בהעברת מתודות מותאמות אישית getMetaData, getUserInfo ו-getSourceAndTarget עבור הפעולה
registerActions([
  'create',
  { name: 'auth:signIn', getMetaData, getUserInfo, getSourceAndTarget },
]);

כאשר ממשקים רשומים חופפים, לשיטת הרישום הספציפית יותר יש עדיפות גבוהה יותר. לדוגמה:

  1. registerActions('create')

  2. registerAction({ name: 'user:*', getMetaData })

  3. registerAction({ name: 'user:create', getMetaData })

עבור ממשק user:create, רישום 3 ייכנס לתוקף.

#registerActions()

רושם מספר פעולות משאב שתבוקרנה.

#חתימה

  • registerActions(actions: Action[])