npm包loopback-right-checkpermission使用教程

简介

loopback-right-checkpermission是一个适用于loopback框架的npm包,它能在我们进行权限控制时提供便捷支持,使得我们能够快速而方便的在loopback中进行权限判断。该包基于loopback-connector-mongodb的Access Controls,可自定义认证函数和验证许可,使用简单方便,在loopback的API中具有很高的实用价值。

安装

在使用该npm包前,需要先确保安装了以下几个包:

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

安装完成之后,你可以通过以下命令安装loopback-right-checkpermission:

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

使用

配置

在项目中,首先需要在配置文件的providers.json中添加“loopback-right-checkpermission”的provider:

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

通过在每一个Model的accessControls属性中添加函数expressions,该函数将返回当前用户能够访问的字段。如果该函数返回的是一个空数组,说明当前用户没有访问该接口的权限,可以在返回之前加上权限验证的自定义函数。

在Model中的accessControls属性可以通过后台定义,和ACL权限类似,不在此赘述。

示例

以下是一个简单的实现,使用nodejs作为后端,我们在Model中通过accessControls属区控制接口权限(users.json文件中相同的位置):

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

我们可以使用以下函数来替代原有的用户认证函数:

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

使用该函数后,在你想要进行安全访问的接口中,将会在进行访问前进行权限判断,如果当前用户有访问权限,则直接执行相应的操作,否则会返回权限不足的提示。

结论

使用loopback-right-checkpermission可以快速而简单的进行loopback的权限控制,避免编写重复代码,使得我们能够更加专注于业务逻辑的开发与实现。同时,该包也提供了基于Mongdb的Access Controls,具有一定的灵活性,可以根据具体项目的业务需求进行个性化的改造和实现。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/60056cf581e8991b448e6b47


猜你喜欢

  • npm 包 @springbuck/ng-foundation 使用教程

    简介 @springbuck/ng-foundation 是一个基于 Angular 框架开发的 UI 库,提供了常用的 UI 组件和工具,方便前端工程师快速搭建界面。

    3 年前
  • npm包 `@springbuck/ng-reed`

    对于前端开发人员来说,优秀的npm包是非常重要的。而 @springbuck/ng-reed 作为一个优秀的npm包,为Angular开发人员提供了一种快速开发响应式应用的方式,提高了应用的可靠性和性...

    3 年前
  • npm 包 @springbuck/ng-webgets 使用教程

    @[TOC] 1. 什么是 @springbuck/ng-webgets? @springbuck/ng-webgets 是一个基于 Angular 的前端 UI 组件库,提供了丰富的常用组件,如表格...

    3 年前
  • npm 包 @springbuck/ng-imager 使用教程

    介绍 ng-imager 是一款基于 Angular 的图片处理库,可以用于缩放、裁剪、水印等操作。该库提供了多种配置项,可以满足大部分图片处理需求。 安装 使用 npm 安装: --- ------...

    3 年前
  • npm 包 insertion-sort-v 使用教程

    介绍 在前端开发中,排序算法是一个很常见的需求,而且使用高效的排序算法可以提高代码的执行效率,提升用户体验。其中常用的一种排序算法就是插入排序(Insertion Sort)。

    3 年前
  • npm 包 homebridge-thermy 使用教程

    介绍 npm 包 homebridge-thermy 是一个用于 HomeBridge 系统的插件,可以使得用户通过 HomeKit 来控制和管理他们的温度传感器和恒温器。

    3 年前
  • npm 包 jekyll-server 使用教程

    介绍 在前端开发中,我们常常需要搭建一个本地的服务器来运行我们的网站。而 jekyll-server 就是一款能在本地运行 jekyll 网站的 npm 包。jekyll 是一个基于 Ruby 的静态...

    3 年前
  • npm 包 react-thumbnail-gallery 使用教程

    简介 react-thumbnail-gallery 是一个 React 组件,用于显示缩略图和展示大图,支持页面切换和放大功能。它是一个非常实用的前端工具,适用于各种网站和应用的图片展示需求。

    3 年前
  • npm 包 cordova-plugin-msupportinterface 使用教程

    介绍 cordova-plugin-msupportinterface 是一个 Cordova 插件,它可以增强 Cordova 应用的某些功能,例如在 Android 平台上使用 Mi SmartH...

    3 年前
  • npm 包 @jayrbolton/merge-sort 使用教程

    排序算法是计算机科学非常重要的基础知识之一。其中,归并排序算法被广泛应用于许多领域,例如计算机操作系统、数据库、图像处理、网络传输等。本文将介绍一款 npm 包 @jayrbolton/merge-s...

    3 年前
  • npm 包 react-apollo-fork 使用教程

    什么是 react-apollo-fork react-apollo-fork 是一个用于 React 应用中使用 Apollo GraphQL 客户端的 npm 包,它提供了一些方便的工具和组件,帮...

    3 年前
  • npm 包 ktapi 使用教程

    本文将详细介绍如何使用 npm 包 ktapi,并提供示例代码以帮助您快速上手。 什么是 ktapi ktapi 是一个用于发送请求的 npm 包,它使用 Promise 技术,可轻松地发送 HTTP...

    3 年前
  • npm包object-to-schema使用教程

    简介 object-to-schema是一个npm包,它可以将JavaScript对象转换为JSON Schema,并且支持自定义转换规则。该包通常被用于前端开发中,用于生成接口文档或进行Json数据...

    3 年前
  • npm 包 zain-tpl 使用教程

    简介 Zain-tpl 是一个基于 JavaScript 的 npm 包,用于在前端开发中快速构建静态页面和组件,帮助开发者提高开发效率、降低重复工作量。Zain-tpl 包括了一系列的模板文件和开发...

    3 年前
  • npm 包 cookie-box 使用教程

    前言 在 web 开发中,cookie 是客户端存储数据的常用方式。使用 cookie 可以实现很多功能,比如用户认证、网站足迹追踪等。但是,对于初学者来说,操作 cookie 可能会比较麻烦。

    3 年前
  • npm 包 extremelogger 使用教程

    在前端开发中,日志记录是一项非常重要的任务。而 npm 包 extremelogger 就提供了一个非常好用的解决方案。通过 extremelogger,你可以非常方便地记录程序中的各种信息,从而更好...

    3 年前
  • npm 包 react-alert-template-basic 使用教程

    在前端开发中,弹出提示框是一个常见操作。而 react-alert-template-basic 就是一个基于 React 的提供弹出提示框功能的 npm 包。在本文中,我们将会详细探讨这个 npm ...

    3 年前
  • npm 包 reason-rebase 使用教程

    在前端开发中,经常需要对不同的数据进行操作和组合。而 reason-rebase 是一个非常好用的 NPM 包,用于方便地对数据进行裁剪、迁移和联合,使得数据管理更加灵活高效。

    3 年前
  • npm 包 game_of_thrones-names 使用教程

    简介 game_of_thrones-names 是一个 npm 包,用于生成 Game of Thrones (权力的游戏)中的人物名字。这个包可以用于构建测试数据或者随机生成名字。

    3 年前
  • npm 包 inline-source-loader 使用教程

    inline-source-loader 是一款可以让前端开发者将静态 HTML 文件中的外部脚本,样式、图片等资源嵌入到 HTML 文件中,方便后续的部署和发布工作。

    3 年前

相关推荐

    暂无文章