AngularJS中会话存储、本地存储和Cookie之间的区别
Difference between Session Storage, Local Storage and Cookies in AngularJS
我想深入研究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/
- 如何在网页之间存储数据
- 创建一个变量并在页面之间移动时“存储它”,jQuery
- jQuery:存储自定义事件之间的数据
- 如何解决存储中操作之间的依赖关系
- 浏览器会话存储.在选项卡之间共享
- 在HTTP和HTTPS之间跨协议时使用Amplify进行本地存储
- 如何在弹出页面和背景页面之间进行通信并存储我已经获得的信息
- 在本地存储中设置的两个值之间减去时间
- 如何解释浏览器之间的不同“存储”事件行为
- 在 Web 应用和扩展程序之间共享本地存储
- 在Chrome内容脚本和弹出脚本之间共享redux存储
- 将2个网站存储在1个文件中,并在它们之间动态更改
- 在http和https之间共享dom存储
- AngularJS中会话存储、本地存储和Cookie之间的区别
- d3.v3.js和整个d3存储库之间的差异
- 存储在proto和这个之间有什么区别
- backbone.js在本地存储和rest-api之间切换
- 多个web应用程序之间的JavaScript本地存储
- D使用javascript存储在变量中的两个日期之间的差异
- 如何在一个网格中使用两个存储之间的切换