需求:
可配置一级模块,二级页面,页面button
权限
权限控制,颗粒度到页面的按钮权限
大致如下:
程序框架:
登录是使用的 keyclock
前端项目使用的是的 react+umi+antd
思路
-
录入所有页面及
button
在keyclock
后台中:
集成的keyclock
有对应的后台管理页面 所有的一级模块,二级页面,button都要记录在后台里 页面级别储存在resource
中
button
储存在Permissions
中 -
登录后返回当前账号所对应的资源及权限
-
button
权限:拿到所有button
资源后储存到model
或者缓存里,对每一个button
都绑定是否有权限的判断 -
页面权限:拿到有权限的页面后,与当前所有
route
的name
进行比对筛选,生成新的路由
(我这里的存储在keyclock
的页面名称 和 路由的name