我正在使用 angular.js 构建一个单页应用程序,但我遇到了这个问题,我无法找到正确的答案。
当我们在 Angular 应用程序中进行全页面刷新时,我们应该如何检查用户是否仍然具有有效的 session ? State Provider 或 UI router 只是将 url 路由到所请求的页面,但如果用户的 session 已过期怎么办?
我想到的一件事是使用服务并在用户登录后存储一个 bool 值,并且在每次页面刷新或状态更改时,我们检查此 bool 值并将用户重定向到登录页面,如果该值是假的。但是,如果我们进行刷新,这个 bool 值就会被重置。
考虑将此键值存储在 cookie 或 html 本地存储中,但是这些值存储在这里有多安全。有人可以重置此 bool 值来获得对页面的访问权限。
请告诉我。
最佳答案
为了确保客户端应用程序的安全,您需要使用某种服务器。将值存储在 cookie 或本地存储中不会有任何好处,因为用户可以操纵这些值(浏览器上的其他所有内容也可以操纵)。
不确定您可以使用哪些选项,但我建议您研究 Nodejs/Expressjs/Passportjs - 这是一个非常棒的组合,并且在这里提供了非常好的支持。
一旦您在该领域取得进展,您就可以提出更有针对性的问题。
关于javascript - 在 angular.js 应用程序中维护页面刷新时的客户端页面状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26390936/