2013-11-02 55 views
1

我想用MEAN應用程序實現ACL。關於實施我有幾個問題。如何以node.js的平均值堆棧實現node_acl

  1. 如何獲得ACL與 server.js實例,這樣我可以在我的路由器和 控制器使用相同的實例MongoDB的後端?
  2. 是否有意義創建一個管理員 可用於創建和分配角色並更改權限的acl控制器?
  3. 我希望我的router.js中的所有資源都可以通過相關操作暴露爲acl 資源。當將acl.middleware()添加到路由時,這是否會自動發生 ?
  4. 如何定義像「編輯自己的內容」這樣的權限?

下面是控制器方法我都拿出來落實ACL提供的方法允許管理員來管理ACL設置列表:

  • set_acl(角色,資源,權限)
  • remove_role (作用)
  • what_resources(作用,[權限])
  • user_roles(用戶id)
  • allowed_permissions(用戶ID,[資源])
  • add_user_roles(用戶ID,角色)
  • remove_user_roles(用戶ID,角色)

有什麼我失蹤?

回答

1

https://npmjs.org/package/acl它與蒙戈DB作爲後端

+0

的ACL NPM是node_acl:https://github.com/optimalbits/node_acl我正在考慮現在。你有沒有在你的任何項目中使用它?我正在尋找MEAN堆棧的指導。 – Arosboro

+0

是的,對於mongodb唯一的壞處是ACL使用的數據量非常大(如果我們有10個用戶,10個文檔和2個授權(讀取,寫入) - 我們在ACL表中有200條記錄)。我認爲更好的方法是使用像unix這樣的東西 - 每個文檔都有用戶ID和組ID,並且有用戶組。我設法從頭開始編寫這樣的系統,但由於個人問題,我並不滿足 – vodolaz095