单页应用程序中的登录页面

Cha*_*aju 5 javascript singlepage

我正在构建一个单页应用程序,请阅读登录页面不应位于同一页面上。我应该作为单独的 html 页面登录,还是可以在同一页面中登录。

如果我作为不同的页面登录,则根据我加载的第一个页面应该必须重定向到客户端的另一个页面。

即假设我首先加载 SPA,如果用户未登录,我必须重定向到客户端的登录页面。假设我首先加载登录页面,并且用户已经登录,我必须重定向到客户端的 SPA。

这个问题的一般解决方案是什么?

sim*_*mme 3

我将登录和验证放在单独的页面中,然后使用 ajax 进行调用。

  1. 用户访问索引文件。
  2. 索引文件检查服务器端页面以查看用户是否登录。
  3. 页面显示的内容取决于服务器端页面的 json 答案是 true 还是 false。

然后我会做同样的登录。

  1. 用户提供登录信息
  2. 通过ajax和json检查服务器端文件。
  3. 如果成功则刷新页面,如果不成功则抛出错误响应。

我的答案的底线是,在创建单页应用程序时,ajax 是最佳选择。但是,由于您没有提供您使用的语言,我无法给您更详细的答案。

然而,客户端单页处理登录和内容选择是非常糟糕的做法,应该完全避免,因为它们缺乏安全性(我不能充分强调这一点),因为所有元素甚至可以用于匿名访问,并且 DOM 操作将启用未经授权的用户访问受限制的内容。您必须使用 ajax 进行后端服务器端授权 - 如前所述,以及 SPA 上的服务器端代码,根据您的授权状态呈现不同的内容。

您描述的场景需要有服务器端代码来选择要呈现的内容,以及客户端代码和 ajax 来实现 SPA 上的功能。

然而,您可以做的是 - 例如,当按下登录按钮时 - 使用 ajax 调用另一个文件,删除包装器 div 的内容并将 ajax 响应附加到该 div。然后您将完全避免客户端重定向。