VUE前端下,后台的菜单资源管理

1 总体思路是VUE配置的菜单id和用户从接口获取的菜单id进行对比


2 VUE配置的路由中的菜单id需要和数据库中的菜单id(resource_no)一一对应,超级管理员应当读取到所有的菜单。普通管理员从云端请求普通管理所有菜单id,由VUE端将普通管理员的菜单id和VUE中的所有菜单id进行交运算,交结果即普通管理员的VUE显示菜单。


3 VUE需要显示按钮权限时,在页面写入按钮组件,但是是否显示,需要从后台获取普通管理员按钮id进行比较


4 VUE的权限id(菜单、按钮)一般在用户登陆时就由云端返回给VUE,由VUE保存到本地,随时可用。


5 数据库采用细颗粒的菜单和按钮权限设计 用户 - 角色 - 菜单/按钮

resource表(菜单、按钮)

扫描二维码关注公众号,回复: 3501522 查看本文章
id resource_no resource_name resource_type
1 001 order_menu menu
2 101 pay_button buttion

user表(用户)
id user_id user_name
1 c81b6fac387cd3 jack
2 d69884fa23286 eric

role

id role_name
1 普通管理员

user_role_ref

id user_id role_id
1 1 1
2 2 1

role_resource_ref

id role_id resource_id
1 1 1
2 1 2

以上四张表应该由超级管理员维护。当VUE普通管理员登录系统时,通过以sql将菜单权限和按钮权限查出来,返回给VUE

select 
r.resource_num, resource_type 
from 

resource as r 
inner join 

role_resource_ref as rrf on rrf.resource_id = r.id

inner join 

user_role_ref on urf on urf.role_id = rrf.role_id

inner_join 

user as u on u.id = urf_user_id

where
u.user_id = ''c81b6fac387cd3" 

猜你喜欢

转载自blog.csdn.net/ShuaiFanPi/article/details/79926462