一个小前端记录下最近设计的简单RBAC权限先放表结构user_infoapp.model.UserInfo.belongsTo(app.model.Role,{foreignKey:'role_id',targetKey:'角色值'});外键role_id关联role.role_valuerolemenuapp.model.Menu.hasMany(app.model.Permission,{foreignKey:'menu_id',targetKey:'id',as:'children'});permissionapp.model.Permission.belongsTo(app.model.Menu,{foreignKey:'menu_id',targetKey:'id'});以上,基于角色控制权限访问user:role(1:1)-user_info.role_id与角色关联。role_valuerole:menu(1:N)-role.role_value关联menu.role_levelrole:functionalpermission(1:N)-role.role_valueassociatedpermission.role_levelmenu:functionalpermission(1:N)-menu.id关联权限。menu_id的前端交互页面将路由和路由下的功能权限分配给角色。然后给用户分配角色,控制用户的路由权限和功能权限。路由数据通过接口返回数据给前端判断角色,前端addRoute生成动态路由函数权限值,同样通过接口返回并存储在store中。
