javascript - AngularJS 中 Session Storage、Local Storage 和 Cookies 的区别

标签 javascript angularjs session cookies

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

问题问题---

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

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

3) 我也在研究在我的登录表单上记住我 - 为此将用户的密码和电子邮件存储在本地存储中是否安全,如果不是,最好的方法是用 Angular 记住我

4) Cookie 很棒,但是企业公司是否允许在浏览器中使用它们?

希望找到像样的答案

谢谢

最佳答案

1) sessionStorage 是临时的是正确的,它的设计就是为了这样做。

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

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

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

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

希望这对您有所帮助!

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

关于javascript - AngularJS 中 Session Storage、Local Storage 和 Cookies 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26172976/

相关文章:

javascript - HTML组件开发。具有浏览器自动重新加载功能的轻量级快速解决方案

session - 在 Spring Security 3.0 中登录时设置 cookie

c - 在c中监视 session 更改事件

javascript - 跨域获取CSV文件

javascript - AngularJS : How to make directives evaluate from outside in?

javascript - 组件重新渲染时 React SVG 消失

javascript - Angular JS 工厂变量未定义

angularjs - Protractor 的 spec.js 文件中的 describe() 和 it() 有什么区别?

javascript - 如何将此 AngularJS HTML 模板添加到我的 Angular 8 项目中

php - 重新发送 WWW Unity3d 和 PHP 时 session 不再存在