前端菜单权限控制,服务端发送有权限的菜单给我,前端怎么处理好一点? 目前采用刷新一次页面就重新查找一下权限,无权限的菜单隐藏。总感觉不是很好。请教有没有较好的方案
菜单在后端配置,登录的时候返回给你。把权限交给后端处理。前端认为后端返回的数据都合法。
后台发送菜单id,前台在菜单字典中把需要展示的菜单拿出来
使用sessionStorage把权限状态存储在会话中,每次打开的时候先读取以下sessionStorage存的内容,再决定如何渲染
前端菜单权限控制最好采用刷新一次页面就重新查找一下权限,原因是权限是可配置的,随时都有可能发生变化,采用缓存数据等方法都不合理,像阿里云控制台也是每次刷新重新拉取菜单的!
简单的做法:由管理员修改权限后,告知用户退出账户,重新登录。
更好的做法:后端接口在得知菜单权限被修改之后,告知前端需要让用户登出。这是一个全局判断,也就是每个接口都会走这个判断。可以定义一个code码,前端也做一个全局处理code码的处理,接受到这个code码,则执行登出操作。