js后台动态生成菜单树,给用户分配权限时如何处理?

js后台动态生成菜单树,给用户分配权限时如何处理?

问题描述:

我想要在后台动态生成菜单树,在用户权限分配上有几个问题:
1. 用RBAC模式,用户-角色-权限,角色权限是固定的,但如果我给用户分配了xx角色,而又让他没有这个角色下的XX权限,怎麽处理?(我的想法是分配角色后,再通过页面勾选的权限来确定用户的权限集)
2.权限集是保存菜单id还是所有菜单数据?
3.权限集应该保存在哪里?
(1)保存到session,浏览器退出后,权限集就没了(权限集又是1中分配的)
(2)保存到redis,存菜单数据担心内存不足,存菜单ID,每次还是要查数据库
(3)保存到mysql,每打开一次页面查一次,I/O操作是不是太频繁?
希望各位看官能留下你的答案,不胜感激!

1.角色定义大部分权限,其他权限以勾选方式做修改,可以的。
2.一般是保存菜单地址关键名,用户登录时把权限集保存在session中,访问地址在权限中则通过,当然细分的话还有菜单内的增删改查
3.没的说一定是保存在数据库中,别把数据库想的这么弱

1、没分配就是没有权限啊,即进入网站后不能看见任何菜单,除了一些共有的
2、权限表保存菜单数据,角色-权限中间表保存id
3、每次登录时加载一次,存储到map中

参考spring-security的实现

将权限集 设为多选框。那个不给别人使用 就不要选那个