如何使用 Vue-Router 管理 ACL?

How can you manage ACL with Vue-Router?

具体来说,我想做的是呈现 403 之类的消息,而不是应该查看的消息,或者自动设置 Vue-Router 以更改组件,同时保持相同 url。 那么使用 Vue-Router 管理用户访问 Levels/Roles/Lists 的最佳实践是什么?你们是怎么做到的?

有一篇文章介绍了 Vue2 中的 acl 集成 - https://medium.com/@sergiy.stotskiy/vue-acl-with-casl-781a374b987a

对于路由器集成,您唯一需要做的就是在 router.beforeEach 回调

中检查权限

或者不呈现特定用户无法访问的链接和按钮,如果用户导航到禁止页面 API 将 return 403,您可以拦截所有 HTTP请求(在 axios 中)并将用户路由到不同的页面。

我更喜欢最新的方法,因为它不会给 router/routes 增加额外的复杂性,并且在使用尝试直接导航到禁止 URL

时表现正常