简介
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