我在用 Vue 做后台管理系统,现在想根据用户角色显示不同菜单。但听说前端鉴权只是“障眼法”,后端不校验照样能被绕过?那我前端还有必要做权限控制吗?
目前我是这样写的:
const userRole = localStorage.getItem('role');
if (userRole === 'admin') {
showAdminMenu();
} else {
showUserMenu();
}
但感觉只要别人改下 localStorage 就能冒充管理员了,这不就白做了?到底该怎么处理才合理?
正确姿势是这样的:前端管 UI 展示,后端管真正的权限校验。菜单数据让后端接口返回,别在前端硬编码判断。试试这个思路:
后端每个接口都要校验 token 和权限,前端被绕过也无所谓,反正接口会拦住。前端就是个"装饰",别指望它当保安。