简介
feathers-mongoose-casl
是一款用于 FeathersJS 框架的权限管理插件,它基于 Mongoose 操作 MongoDB 数据库,并使用 CASL(自己定义语言)来对用户对数据库的 CRUD 操作进行控制。本文将简单介绍该插件的安装和使用方法,以及示例代码。
安装
你可以在终端通过 npm 安装该插件:
npm i feathers-mongoose-casl
同时,确保你已经安装了 FeathersJS 和 Mongoose。
使用
基本配置
为了使用此插件,您需要在 FeathersJS 服务中配置以下的一些属性,例如:
-- -------------------- ---- ------- -- ------ ----- -------- - -------------------- ----- -------- - -------------------- ----- ------- - ---------------------------------- -- -------- -- ---------------- - --------------- ----- -------- - ------------------------------------ -------------------------- - ---------------- ----- ------------------- ----- ----------------- ------ --------------- ----- --- -- ---------- -- ----- --- - ----------- ----------------------- ------------------------- --------- ---- --- --------------------------- -- ---- --------------------- --------- ------ ---------- --------------- -------- ----------------- ----- ----展开代码
CASL 语法
此插件默认使用 CASL 作为其权限管理语言。
-- -------------------- ---- ------- ------ - --------------- ------- - ---- ---------------- ----- ------- - ------------------------- -- - ----------- ------------ - -------- ----------- --- ------------- ------------ - -------- ----------- --- ------------- ------------ - -------- ----------- --- ------------- ------------ - -------- ----------- --- --- -- ---------- ----- ------- - ------------------- ------------- ----- --------- - --------------------- ------------- ----- --------- - --------------------- ------------- ----- --------- - --------------------- -------------展开代码
您可以在 read
, create
, update
和 remove
中使用任何 Mongoose 操作符运算符或查询。
API 端点
接下来在您的 FeathersJS 服务中添加一些 API 端点。
-- -------------------- ---- ------- -- ----------- ------------------------------- -------- -------- ------ -- --- --------------------------------- -------- -------- ----- -- --- --------------------------------- -------- -------- ------ --- ----- -- --- --------------------------------- -------- -------- ------ -- ---展开代码
此时,API 端点只会响应符合您的 CASL 规则的请求。
示例代码
-- -------------------- ---- ------- -- ------ ----- -------- - -------------------- ----- -------- - -------------------- ----- ------- - ------------------------------- ----- ------- - ---------------------------------- -- -------- -- ---------------- - --------------- ----- -------- - ------------------------------------ -------------------------- - ---------------- ----- ------------------- ----- ----------------- ------ --------------- ----- --- -- ---------- -- ----- --- - ----------- ----------------------- ------------------------- --------- ---- --- --------------------------- -- ---- --------------------- --------- ------ ---------- --------------- -------- ----------------- ----- ---- -- --- -- ------------------------------- -------- -------- ------ -- --- --------------------------------- -------- -------- ----- -- --- --------------------------------- -------- -------- ------ --- ----- -- --- --------------------------------- -------- -------- ------ -- ---展开代码
-- -------------------- ---- ------- ------ - --------------- ------- - ---- ---------------- ----- ------- - ------------------------- -- - ----------- ------------ - -------- ----------- --- ------------- ------------ - -------- ----------- --- ------------- ------------ - -------- ----------- --- ------------- ------------ - -------- ----------- --- --- ----- ------- - ------------------- ------------- ----- --------- - --------------------- ------------- ----- --------- - --------------------- ------------- ----- --------- - --------------------- -------------展开代码
结论
feathers-mongoose-casl
是一款极其强大的 FeathersJS 插件。它能够绝对保护您的 MongoDB 数据库并且防止未经授权的数据访问。本篇文章只包含了最基本的使用方式。如果需要更多信息,请参考 官方文档。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/104725