SailsJS 用户访问级别和角色
SailsJS user access levels and roles
我正在使用所学here构建用户身份验证系统。本质上它是使用护照本地认证。
如何将用户访问级别和角色添加到 SailsJS?例如,我想要访问级别(canWriteAll、canWriteOwn、canRead)以及分配给这些用户角色的用户角色(管理员、贡献者、用户...等等)。
Sails 具有 built-in 基于策略的访问控制系统。 Check out documentation 第一。
简单形式如果是:
在您的用户模型中创建所需的访问级别属性,默认情况下等于最基本的访问级别。这可以是数字(如 1 - 管理员和 100 - 未经身份验证的用户,以及它们之间的其他角色)或字符串(如 administrator
、moderator
、guest
)或任何内容。
在 policies
文件夹中创建中间件(查看文档中的示例)。
在policies
配置文件中为每个控制器及其方法添加策略。
喜欢:
UserController: {
'*': false, // disallow for each method not listed here
find: ['guest'], // check guest.js middleware for permission
destroy: ['administrator'] // check administrator.js middleware for permission
}
我可能来晚了 post 在这里回答,但还有另一种方法可用于 sails 中的访问控制。
下面 link 用于文档。
access-control-and-permissions
Sails 中的策略旨在控制对特定操作的二进制(“是或否”)访问。它们非常适合检查用户是否已登录或其他简单的“是或否”检查,例如登录用户是否是“超级管理员”。
但是对于动态权限,
对于更复杂的权限方案,例如发出请求的用户代理的访问权限取决于他们是谁以及他们试图做什么,您需要涉及数据库。虽然您可以使用策略来完成此操作,但使用助手通常更直接且更易于维护。
我正在使用所学here构建用户身份验证系统。本质上它是使用护照本地认证。
如何将用户访问级别和角色添加到 SailsJS?例如,我想要访问级别(canWriteAll、canWriteOwn、canRead)以及分配给这些用户角色的用户角色(管理员、贡献者、用户...等等)。
Sails 具有 built-in 基于策略的访问控制系统。 Check out documentation 第一。
简单形式如果是:
在您的用户模型中创建所需的访问级别属性,默认情况下等于最基本的访问级别。这可以是数字(如 1 - 管理员和 100 - 未经身份验证的用户,以及它们之间的其他角色)或字符串(如
administrator
、moderator
、guest
)或任何内容。在
policies
文件夹中创建中间件(查看文档中的示例)。在
policies
配置文件中为每个控制器及其方法添加策略。
喜欢:
UserController: {
'*': false, // disallow for each method not listed here
find: ['guest'], // check guest.js middleware for permission
destroy: ['administrator'] // check administrator.js middleware for permission
}
我可能来晚了 post 在这里回答,但还有另一种方法可用于 sails 中的访问控制。
下面 link 用于文档。
access-control-and-permissions
Sails 中的策略旨在控制对特定操作的二进制(“是或否”)访问。它们非常适合检查用户是否已登录或其他简单的“是或否”检查,例如登录用户是否是“超级管理员”。
但是对于动态权限,
对于更复杂的权限方案,例如发出请求的用户代理的访问权限取决于他们是谁以及他们试图做什么,您需要涉及数据库。虽然您可以使用策略来完成此操作,但使用助手通常更直接且更易于维护。