Vue 或 React SPA 可以阻止访问某些页面吗?

时间:2021-02-26 15:35:51

标签: vue.js server architecture webserver single-page-application

我现在正在使用 Vue.js 构建 SPA(单页应用程序),

并且会有一些管理页面可供授权人员访问。

Vue 前端服务器将通过 REST API 与后端 Express.js 服务器通信。

在这种情况下,我认为 SPA 是立即加载并对其做出反应的概念,而不是像 apache 这样的传统 MPA 在服务器上运行代码并用 HTML 折腾它,所以管理员页面将在源代码中,即使这些信息是由 Express.js 使用 ajax(axios) 授权的,我理解对吗?

所以即使我在每次授权之前使用Vue-router,也有人可以看到管理页面的框架,对吗?

如果是这样,是否有更好的办法阻止他们访问?

1 个答案:

答案 0 :(得分:0)

SPA 的所有代码不需要一次性加载为一块。您可以使用 Async Components 将代码拆分为仅在需要时在运行时动态加载的多个块。这在您的情况下特别有用,因为管理部分的代码不需要由非管理员用户(可能是大多数)下载/解析/执行 - 请参阅Lazy Loading Routes

最重要的是,您的 Express 服务器应用程序无论如何都应该授权每个服务器调用。如果未经授权的用户以某种方式设法执行和显示 Admin 部分,如果服务器不返回任何“仅限管理员”数据来显示或允许在服务器端执行任何仅限管理员的操作,那么他将毫无用处...< /p>