npm 包 feathers-mongoose-casl 使用教程

阅读时长 7 分钟读完

简介

feathers-mongoose-casl 是一款用于 FeathersJS 框架的权限管理插件,它基于 Mongoose 操作 MongoDB 数据库,并使用 CASL(自己定义语言)来对用户对数据库的 CRUD 操作进行控制。本文将简单介绍该插件的安装和使用方法,以及示例代码。

安装

你可以在终端通过 npm 安装该插件:

同时,确保你已经安装了 FeathersJS 和 Mongoose。

使用

基本配置

为了使用此插件,您需要在 FeathersJS 服务中配置以下的一些属性,例如:

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

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

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

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

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

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

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

-- ----
--------------------- ---------
  ------ ----------
  --------------- --------
  ----------------- -----
----
展开代码

CASL 语法

此插件默认使用 CASL 作为其权限管理语言。

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

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

-- ----------
----- ------- - ------------------- -------------
----- --------- - --------------------- -------------
----- --------- - --------------------- -------------
----- --------- - --------------------- -------------
展开代码

您可以在 read, create, updateremove 中使用任何 Mongoose 操作符运算符或查询。

API 端点

接下来在您的 FeathersJS 服务中添加一些 API 端点。

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

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

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

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

---------------------------------
  -------- --------
  ------ --
---
展开代码

此时,API 端点只会响应符合您的 CASL 规则的请求。

示例代码

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

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


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

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

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

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

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

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

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

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

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

---------------------------------
  -------- --------
  ------ --
---
展开代码
-- -------------------- ---- -------
------ - --------------- ------- - ---- ----------------

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

----- ------- - ------------------- -------------
----- --------- - --------------------- -------------
----- --------- - --------------------- -------------
----- --------- - --------------------- -------------
展开代码

结论

feathers-mongoose-casl 是一款极其强大的 FeathersJS 插件。它能够绝对保护您的 MongoDB 数据库并且防止未经授权的数据访问。本篇文章只包含了最基本的使用方式。如果需要更多信息,请参考 官方文档

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