我在Node中构建了一个社交网络Web应用程序。我添加了一个组模型,用于创建一组像facebook这样的用户。
我一直在寻找一个我可以使用的npm模块,我搜索了谷歌和stackoverflow,但我还没有找到任何东西。
这是我添加到我的proyect的组模型。
var groupSchema = mongoose.Schema({
name: String,
motivation: String,
destination: String,
days: String,
members: [String],
profile: String
});
module.exports = mongoose.model('Group', groupSchema);
有没有人有这么好的方法呢?
注意:我使用groupController,我想使用3个动作。一个用于显示用户,一个用于添加用户,一个用于创建,但它不起作用。
答案 0 :(得分:1)
不幸的是,还没有任何真正完善的节点授权框架(afaik)。
我是express-stormpath图书馆的作者,其执行了部分内容,但尚未成为授权规则的全部内容。
express-stormpath库的工作方式如下:
您可以创建组,并将帐户分配给这些组。所以你可能有一组名为:
然后,在每个组上,您可以使用此JSON blob存储权限数据。所以你可以这样做:
Group.customData.permissions = [' can_read',' can_write',...];
该库还提供了一些用于与用户/组合作的中间件工具,例如,您可以这样说:
app.get('/secret', stormpath.groupsRequired(['admins']), function(req, res) {
// if you get here, you must be in the admins group
});
如果您想查看它,可以在此处详细了解:https://docs.stormpath.com/nodejs/express/