【发布时间】:2012-12-27 02:05:52
【问题描述】:
我正在使用 nodejs,过去一周一直在研究 acl/授权。我只找到了几个,但似乎没有一个具有我需要的所有功能。最接近的是https://github.com/OptimalBits/node_acl,但我认为它不支持通过 id 保护资源(例如,如果我想允许用户 12345 并且只有用户 12345 访问 user/12345/edit)。因此,我认为我必须为自己制作一个自定义的 acl 解决方案。
我的问题是,在每个用户对象下存储角色(用户、管理员、版主等)有什么优点和缺点,而不是创建另一个集合/表来映射每个用户及其授权规则? node_acl 使用单独的集合,而其他大部分依赖于用户对象中的角色数组。
顺便说一句,我目前正在使用 Mongodb。但是,我尚未研究使用关系数据库与非关系数据库进行身份验证的优缺点,所以如果您的答案取决于此,请告诉我。
在我打字的时候,我想到了一件事。如果我将角色存储在单独的集合中,它会更便携。我将能够更轻松地更换 acl 系统。 (我想?)
【问题讨论】: