Vue 或 React SPA 是否可以阻止某些页面的访问?

Can Vue or React SPA block access for some pages?

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

并且会有一些管理页面,授权人可以访问它。

并且 Vue 前端服务器将使用 REST API 与后端 Express.js 服务器通信。

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

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

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

SPA 的所有代码不需要一次作为一个片段加载。您可以使用 Async Components to split the code into multiple chunks loaded dynamically at runtime only when needed. This is especially useful in your case as the code for the Admin part doesn't need to be downloaded/parsed/executed by non-admin users (which is probably majority) - see Lazy Loading Routes

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