We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
前端 routes.js 中定义完整路由,每个路由 meta 信息中的 role 来标识权限值。登陆之后通过用户的权限过滤完整路由,最终生成用户路由。
基于上述流程。在实际业务中,如果用户进入无匹配路由页面时(实际路由确实不存在、权限不足导致无匹配路由),会重定向至 404 页面(此动作由 vue-router 的 路由匹配完成)。 捕获所有路由或 404 Not found 路由
基于上述流程。在实际业务中,如果用户进入无匹配路由页面时(实际路由确实不存在、权限不足导致无匹配路由),会重定向至 404 页面(此动作由 vue-router 的 路由匹配完成)。
捕获所有路由或 404 Not found 路由
// 需在用户路由表生成后添加 const NOT_FOUND_ROUTE = { name: 'NotFound', path: '/:pathMatch(.*)*', redirect: '/404', };
通过以上操作,一旦匹配不到路由就会重定向至 404 页面。此时无法区分进入 404 的原因到底是因为 实际路由不存在 还是 **权限不足 ** **。
为了解决上述问题可以修改 NotFound 中的 redirect 如下:
const NOT_FOUND_ROUTE = { name: 'NotFound', path: '/:pathMatch(.*)*', redirect: (to) => { console.log(to); return '/404'; }, };
在将 redirect 配置项设置为方法后:
在此基础上,需要实现以下两重判断:
通过这种判断,能够精准地确认跳转至 404 的原因,进一步支持前端展示出更具体的权限提示信息。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
基于路由的访问控制(Route-Based Access Control)
特点
流程
业务背景
问题
通过以上操作,一旦匹配不到路由就会重定向至 404 页面。此时无法区分进入 404 的原因到底是因为 实际路由不存在 还是 **权限不足
**
**。
解决方案
为了解决上述问题可以修改 NotFound 中的 redirect 如下:
在将 redirect 配置项设置为方法后:
在此基础上,需要实现以下两重判断:
进一步判断用户是否有权限访问。此时,如果用户跳转到了 404)页面,通常意味着当前用户没有访问该路径的权限。
通过这种判断,能够精准地确认跳转至 404 的原因,进一步支持前端展示出更具体的权限提示信息。
The text was updated successfully, but these errors were encountered: