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

Gee*_*ets 14 javascript cookies session angularjs

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

问题---

1)$ windows.sessionStorage可以用来存储用户会话,但问题是,当你在新标签中打开它时,它再次要求用户登录.

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

3)我也努力记住我我的登录屏幕上 - 它是安全存储用户的密码和电子邮件在本地存储对于这一点,如果没有什么是做记得我的角度最好的方法

4)Cookie很棒,但公司公司是否允许它们在浏览器上?

希望找到合适的答案

谢谢

Sna*_*ops 23

1)这是正确的,sessionStorage是暂时的,它的设计是为了这样做.

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

3)许多不同的服务器端应用程序支持应用程序的加密和防篡改cookie支持.话虽这么说,它始终是最好不要存储用户密码,在客户端,也许令牌也许您的服务器会识别并能够解密/解码和查找正确的用户记录.

4)我现在说,是的,通常认为cookie是安全的,但这总是有可能的,并且根据您的客户或观众,您可能会遇到问题.如果在浏览器中禁用了cookie,则会话也将无效.(虽然我对此的看法是对一般人群的猜测,即:不要引用我的话)

我对您的需求的建议是在用户遇到页面时设置会话变量.然后将结果存储在localStorage或cookie中,然后当用户在会话耗尽后返回应用程序时,设置一些体系结构以重新进行身份验证并自动重新分配会话.

希望这可以帮助!

编辑: 会话Cookie在同一窗口中的浏览器选项卡之间共享.然而,有人指出会话存储不是.

  • 会话存储的范围限定为特定的选项卡/窗口,即使它们访问相同的URI,也不会在浏览器选项卡之间共享.如果您需要在两个选项卡或窗口之间共享内容,则需要使用`localStorage`.请注意,同源原则仍然适用. (4认同)
  • 在Angular中,会话存储 - 在新标签中打开时会丢失信息.除非我做错了.不错的回答.谢谢 (2认同)