通过将数据存储在会话存储中来进行会话管理

session management by storing data in sessionstorage

我通过使用 AngularJs 将用户数据存储在浏览器的 sessionStorage 中来处理会话。我使用的基本流程如下:

  1. 前端登录
  2. 从节点即后端返回用户
  3. 将返回的数据存储在sessionStorage中
  4. 每次向服务器发送请求时都发送用户 ID
  5. 退出时清除存储空间

我的做法对吗? 如果不是,那么我如何在 MEAN 应用程序中有效地管理会话?

将关键数据作为令牌存储到 LocalStorage 或 SessionStorage 绝对不是一个好主意,因为它容易受到 XSS 攻击。

更好的做法是将这些信息存储在 cookie 中...但是,我们到这里还没有完成,因为 cookie 容易受到 CSRF 攻击。

因此,最好的方法是将关键信息存储在 cookie 中,并通过在 SessionStorage 中存储随机生成的会话密钥来保护您的客户免受 CSRF 攻击。

检查这个答案: CSRF Token necessary when using Stateless(= Sessionless) Authentication?