express搭建權限管理系統

express搭建權限管理系統

權限管理,是管理系統中的常見組件。一般須要定義資源,把資源調配給用戶,經過判斷用戶是否有權限增刪改查來實現。前端

初衷:

使用express開發過的項目大大小小加在一塊兒也有二十多個了,以前作的各個項目都是獨立存在的。最近領導建議說把這些小項目整合到一個大的平臺上,給各部門開權限,讓他們在一個平臺上進行操做。這樣作的好處,首先是便於項目管理,其次是節約開發成本。但好像目前使用nodejs作權限管理的資料並很少,這裏特地分享出來,僅供參考。node

一開始在node_acl、Connect Roles、rbac這幾個框架中徘徊,最終選擇的node_acl框架,但node_acl只幫你作了權限管理的一部分工做,只保存用戶、角色、資源三者 之間的關聯關係,用戶、角色、資源自己並無保存。而咱們要作的就是把用戶、角色、資源的增刪改查補齊,就是一個完整的權限管理系統了。git

預期效果:

超級管理員登陸後,能夠進行全部操做,能夠看到全部菜單欄;
普通用戶登陸後只有部分權限,只能看到部分菜單欄或操做按鈕。github

主要模塊:

  • express:node框架
  • express-hbs:模板引擎
  • node_acl:權限管理系統的核心
  • mongodb:數據庫
  • sails-mongodb:鏈接mongodb的引擎

前端:

Amaze ui、angular、Z-Treesql

源碼地址:https://github.com/wuwanyu/aclDemo

運行前提:

安裝mongodb數據庫mongodb

運行

1. 數據準備
(1) 將源代碼目錄下sql文件夾的內容,拷貝到mongodb安裝目錄的bin目錄下
(2) 命令行方式進入mongodb安裝目錄的bin目錄下,運行 mongorestore -d acltest acltest.dmp/acltest,將數據導入acltest表
2.安裝依賴包:npm install
3. 運行:npm start
4.在瀏覽器輸入: http://localhost:3000(用戶名/密碼:admin/admin 或 user/123)

部分截圖

項目相關接口

資源相關:
1.保存資源樹
2.獲取資源列表數據庫

角色相關:
1.添加角色
2.修改角色
3.查詢角色列表
4.刪除角色
4.查詢角色詳情(含角色的權限列表)express

用戶相關:
1.用戶登陸
2.用戶退出
3.添加用戶
4.修改用戶
5.刪除用戶
6.獲取用戶列表
7.查詢用戶詳情(含用戶權限列表)
8.給用戶添加角色
9.獲取用戶角色npm

nodejs開源權限管理框架參考:

node_acl(1373星):https://github.com/OptimalBits/node_acl
優勢:支持express瀏覽器

Connect Roles(564星): https://github.com/ForbesLindesay/connect-roles
點評:支持express,還須要引入passport.js

rbac(309星 ):https://github.com/CherryProjects/rbac 優勢:支持express

相關文章
相關標籤/搜索