2015-01-16 21 views
1

我在Node中構建了一個社交網絡Web應用程序。我添加了一個組模型來創建一組用戶,如Facebook。創建用戶組,這將是一個好方法?

我一直在尋找一個npm模塊,我可以使用和搜索谷歌和stackoverflow,但我還沒有找到任何東西。

這是我添加到我的項目中的組模型。

var groupSchema = mongoose.Schema({ 
    name: String, 
    motivation: String, 
    destination: String, 
    days: String, 
    members: [String], 
    profile: String 
}); 

module.exports = mongoose.model('Group', groupSchema); 

有沒有人有這樣做的好方法?

注意:我使用了一個groupController,我想用3個動作。一個用於顯示用戶,一個用於添加用戶和一個創建,但它沒有工作。

回答

1

不幸的是,目前還沒有真正的全面的節點授權框架(afaik)。

我是express-stormpath庫的作者,它做了一些這方面的工作,但對於授權規則還不是全面的。

快遞-stormpath庫的工作方式是,像這樣:

  • 您有一個帳戶對象。
  • 您有一個Group對象。

您可以創建組並將帳戶分配給這些組。所以,你可能有組,即:

  • 管理員
  • 用戶
  • anonymousUsers

然後,對每個組,您可以存儲使用該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/

+0

我試着去適應Stormpath,但它沒有工作夥計 –

+0

你有什麼問題?我很樂意提供幫助。另外:如果您有任何問題,您可以提交github問題。我維護圖書館並且通常處理那些東西。 – rdegges

相關問題