前端单页应用权限控制设计

基于RBAC 权限模型,基于角色的访问控制(Role-Based Access Control) , 例如定义一个管理员角色,他具有以下权限

  • 添加用户
  • 删除用户
  • 更新用户
  • 查看用户
// admin.role.js
module.exports = {
	"user.add": 1,
  "user.delete": 1,
	"user.update": 1,
	"user.list": 1
}

再定义一个 员工角色, 仅仅具有「添加用户」功能

// staff.role.js
module.exports = {
	"user.add": 1,
  "user.delete": 0,
	"user.update": 0,
	"user.list": 0
}

admin.role.js 和 staff.role.js 的配置在用户打开系统网页后,通过 /api/user/permission 获取, SPA(单页应用的路由系统)根据配置,分别处理以下流程:

  • 根据权限开放前端模块
  • 根据权限注册对应的页面路由
  • 用户访问未开放的路由,进行权限判断
  • .....

你可能感兴趣的:(软件研发,python,java,数据库,shiro,linux)