AngularJS中会话存储、本地存储和Cookie之间的区别

Difference between Session Storage, Local Storage and Cookies in AngularJS

本文关键字:存储 之间 Cookie 区别 会话 AngularJS      更新时间:2023-09-26

我想深入研究Angular,为此我想知道会话存储、本地存储和Cookie之间的区别。

问题问题——

1) $windows.sessionStorage可用于存储用户会话,但问题是,当您在新选项卡中打开某个内容时,它会再次要求用户登录。

2) 本地存储是否可以解决问题1?如果是这样的话,这是否意味着我的应用程序中需要本地存储和会话存储,或者本地存储也将充当会话存储。

3) 我还在我的登录表单上写"记住我"-将用户的密码和电子邮件存储在本地存储中是否安全,如果不是,在角度中记住我的最佳方法是什么

4) Cookie很棒,但公司允许在浏览器上使用吗?

希望找到体面的答案

感谢

1)sessionStorage是临时的,这是正确的,而且它是这样设计的。

2) 本地存储将解决登录在打开新浏览器会话或等待很长时间后消失的问题,但不,localStorage不会充当浏览器请求的会话cookie。

3) 许多不同的服务器端应用程序支持应用程序的加密和防篡改cookie支持。也就是说,最好不要将用户密码存储在客户端中,也许是一个令牌,你的服务器可能会识别它,并能够解密/解码和查找正确的用户记录。

4) 我想说,现在是的,cookie通常被认为是安全的,但这总是有可能的,根据你的客户或受众,你可能会遇到问题。此外,如果浏览器中禁用cookie,会话将无法工作。(尽管我对此的看法是对普通人群的猜测,即:不要引用我的话)

我建议您在用户遇到页面时设置一个会话变量。然后将结果存储在localStorage或cookie中,然后当用户在会话结束后返回应用程序时,设置一些体系结构以自动重新验证和分配会话。

希望这能有所帮助!

编辑: 会话Cookie在同一窗口内的浏览器选项卡之间共享。然而,会话存储已被指出不是。

本地存储将跨选项卡工作:

这里有一个演示:

http://www.undefinednull.com/2014/02/25/angularjs-real-time-model-persistence-using-local-storage/