首页 > 解决方案 > 如何在sails.js 中实现对路由和函数的权限?

问题描述

我是风帆新手,我有一个 PostgreSQL 数据库。我想实现用户管理。我有一些用户each user can be assigned to multiple groupseach group can be assigned to multiple roleseach role can have some permissions!我检查了风帆许可文件,但我没有得到它。例如,我希望某些组不能添加或编辑用户,或者我希望某些角色不能看到用户管理菜单。我应该怎么办?

标签: node.jspermissionssails.jssails-postgresqlsails-permissions

解决方案


我在这里发布答案可能有点晚了,但是有一种方法可用于帆中的访问控制。

Sails 内置基于策略的访问控制系统。

  1. 政策

Sails 中的策略旨在控制对特定操作的二进制(“是或否”)访问。它们非常适合检查用户是否登录或其他简单的“是或否”检查,例如登录用户是否是“超级管理员”。

但是对于动态权限,

  1. 帮手

帮助程序、访问控制和权限文档的链接

对于更复杂的权限方案,例如请求用户代理的访问权限取决于他们是谁以及他们试图做什么的那些方案,您需要涉及数据库。虽然您可以使用策略来完成此操作,但使用帮助程序通常更直接且可维护。

可以在这里找到示例, 使用助手进行访问控制和许可

因此,您可以使用 postgreSQL 来存储角色及其各自的权限,并检索用户角色并根据需要检查策略/帮助程序中的权限。


推荐阅读