是否可以让它更短/更容易?
我正在使用alanning:roles
群组。现在我需要检查用户是否已登录且用户是否在组 admin
或editor
。
这就是我正在做的事情(因为isInRole
正在检查角色,而不是组织)。
const loggedInUser = Meteor.user();
if (!loggedInUser || !loggedInUser.roles.hasOwnProperty('admin') || !loggedInUser.roles.hasOwnProperty('editor'))
throw new Meteor.Error(403, "Access denied", "You don't have access");
答案 0 :(得分:0)
也许是这样的:
if (!loggedInUser || _.intersection(loggedInUser.roles, ["admin", "editor"]).length > 0)
但我会使用Roles
的内置功能进行角色管理:
if (Roles.getRolesForUser(Meteor.userId()).some(x => _.contains(["admin", "editor"], x)))