我正在尝试创建具有身份验证和角色的SPA。 我读了很多教程,解释了如何做,每个人都讲相同的策略:
保存对本地存储的权限,例如accessToken和is_admin = 0 | 1。 因此,当您登录时,后端响应将填充此数据。
然后,vue路由只是检查这两个字段以授予或阻止访问。
这是非常不安全的,任何人都可以访问开发工具并查看此数据并进行更改,只需编写一个随机的accessToken即可在该站点上授予访问权限...然后is_admin = 1和wala。
好的,很难知道这一点,但是...每个API调用都会在后端检查此accessToken。
那么我们可以做些什么来防止这种情况?还是如果我们想要这种“敏捷导航”,就不能保护100%路线导航中间件?
我遵循的指南之一:
https://scotch.io/tutorials/vue-authentication-and-route-handling-using-vue-router
在“问题”部分,有很多人对此进行了评论,他们的回答是这是一个前端演示……但是我如何才能依靠后端呢?如果需要,每次单击导航都会刷新页面。
答案 0 :(得分:0)
SPA只会加载一次。之后,导航由前端处理。但是,下一页所需的数据是使用后端的ajax加载的。意味着在公开要保护的数据之前,您仍然可以在后端验证访问权限。