博客 / 詳情

返回

記錄一下簡易RBAC權限的設計過程

一枚小前端記錄下最近設計的簡易RBAC權限
先放一下表結構
user_info

app.model.UserInfo.belongsTo(app.model.Role,{
       foreignKey: 'role_id',
       targetKey: 'role_value'
});
外鍵role_id 關聯 role.role_value

role

menu

app.model.Menu.hasMany(app.model.Permission,{
       foreignKey: 'menu_id',
       targetKey: 'id',
       as: 'children'
});

permission

app.model.Permission.belongsTo(app.model.Menu,{
       foreignKey: 'menu_id',
       targetKey: 'id'
});

以上,基於role來控制權限訪問

  • 用户:角色(1:1) - user_info.role_id 關聯 role.role_value
  • 角色:菜單(1:N) - role.role_value 關聯 menu.role_level
  • 角色:功能權限(1:N) - role.role_value 關聯 permission.role_level
  • 菜單:功能權限(1:N) - menu.id 關聯 permission.menu_id
前端交互頁面

給角色分配路由及路由下的功能權限。再通過給用户分配角色,來達到控制用户的路由權限和功能權限。
路由數據通過接口判斷角色返回數據給前端,前端addRoute生成動態路由
功能權限值一樣通過接口返回,存入store。
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.