Node express 權限管理

權限管理

資料表設計
  • 使用者資料表: `users` 使用者,上面綁角色role_id,每個使用者都有一種角色
  • 角色資料表: `roles` 角色,用來設定權限用
  • 模組資料表: `module_permissions` 模組權限,用來綁定底下功能權限
  • 功能資料表: `func_permissions` 功能權限,用來綁底層的權限
  • 權限資料表: `permissions` 用來綁func_permissions與permission_types的表
  • 權限型別資料表: `permission_types` 權限分類,可自行定義分類,如:查看、新增、編輯、刪除…等
使用者 => (一對多) 角色 => (一對多) 模組 => (一對多) 功能 => (一對多) 權限 => (多對一) 權限型別

根據使用者角色獲得頁面檢視權限

1
2
3
4
SELECT users.id, users.uId, users.userName, users.userEmail, users.userPassword, users.userPhone, users.roleId, users.token ,modulePermissions.modulePermissionId,modulePermissions.modulePermissionName,modulePermissions.pageLink 
FROM `users`
INNER JOIN `modulePermissions`
ON users.uId=modulePermissions.roleId WHERE users.userName =?