在登陆之后,会返回一个用户等级,我把他存在了localstorage中,如何根据等级做rbac,我现在只能做到每进入一个路由然后和我的等级做对比,有什么好的方法么?
在登陆之后,会返回一个用户等级,我把他存在了localstorage中,如何根据等级做rbac,我现在只能做到每进入一个路由然后和我的等级做对比,有什么好的方法么?
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
这种需求当然是用 Vue-Router 提供的导航钩子做最合适了。beforeEach 钩子可以让你有机会在进入每个路由页面之间进行必要的逻辑处理。因为钩子函数的解析执行是异步的,你完全可以请求 api 获取用户的权限,再决定是否允许用户切换到目标路由,或是跳转到拒绝路由。当然,同步的权限判断更不在话下了。