npm 包 adonis-auditable 使用教程

阅读时长 6 分钟读完

前言

在开发 Web 应用时,后台管理是一个必不可少的组件。而在实际的开发过程中,为了保证数据的安全性,在数据库层面加入审计功能也变得越来越重要。

adonis-auditable 是一个基于 AdonisJS 框架实现的审计包,能够追踪记录数据的变化。本文将会介绍 adonis-auditable 包的安装、使用以及如何对其进行扩展。

安装

安装 adonis-auditable 包需要先安装 AdonisJS 框架,可以通过以下命令来安装:

安装完成后,可在命令行中输入以下指令来创建一个新的 AdonisJS 项目:

接着,在项目目录中执行以下命令来安装 adonis-auditable 包:

使用

  1. 在模型文件中使用 adonis-auditable

在模型文件中引入 adonis-auditable 包,示例代码如下:

-- -------------------- ---- -------
----- ----- - ------------
----- --------- - --------------------------------------------

----- ---- ------- ----- -
  ------ ---- -- -
    ------------
    ------------------------
  -
-

-------------- - ----
  1. 开启审计功能

在 config/auditable.js 文件中配置数据库连接信息和需要审计的字段信息,示例代码如下:

  1. 创建审计记录表

执行以下命令,使用 adonis-ace 工具来生成审计记录表:

  1. 测试

我们可以使用以下代码来测试审计功能:

-- -------------------- ---- -------
----- ---- - ----------------------

-- ----
----- ---- - --- ------
------------- - ------
---------- - ------------------
------------- - ----------
----- -----------

-- ----
------------- - --------------
----- -----------

-- ----
----- -------------

在测试完成后,我们可以在审计表中查看到对应的记录。

扩展

adonis-auditable 包提供了默认的审计功能实现,但我们也可以对其进行扩展以达到更加灵活的需求。

  1. 自定义审计表名和字段名

在 config/auditable.js 中添加表名和字段名:

-- -------------------- ---- -------
---- -------

-------------- - -
  ----------- ---------
  ----- -
    ------ -----------------
    ------- -
      - ----- ----------- ------- ------ --
      - ----- -------- ------- ------ --
      ----------
    -
  -
-
  1. 实现审计方法

在自定义的模型文件中实现审计方法,代码示例如下:

-- -------------------- ---- -------
----- ----- - ------------
----- --------- - --------------------------------------------

----- ----------- ------- ----- -
  ------ ---- -- -
    ------------
    ------------------------------------
  -

  -- -------
  ------ --------------- -- -
    ----------------- -- - ------ --------- ---------
  -

  ------ -------------- -- -
    ------ ----- ------- --------- -
      ----------- -- -
        -------
        ---------------------------------------------------
      -

      ----- --------------------- -- -
        ------------------- --------- ---------
      -

      ------ ---- -- -
        ------------

        -------------------------- ----- --------------- -- -
          -- --------------------- -
            ----- -----------------------------
          - ---- -
            ----- ----- - -------------------
            -- --------------------------- -
              ----- --------------------------- ------
            -
          -
        --

        ---------------------------- ----- --------------- -- -
          ----- -----------------------------
        --
      -
    -
  -
-

-------------- - -----------

在 model.js 中引入 CustomModel,并在 User 模型中使用:

结论

adonis-auditable,是一个十分灵活且方便使用的审计包,可以帮助我们实现对数据库数据的变更的审计记录,防止数据被篡改或者无意修改后造成後果,同时,其分层式配置也使得其可以根据具体业务需求实现相应的审计措施。

参考链接

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600566c281e8991b448e31f8

纠错
反馈