【发布时间】:2016-06-20 06:40:03
【问题描述】:
当我使用服务器有状态会话时,我总是将它用于轻量级目的,例如仅存储用户的用户 ID、名称、时区和最后一页点击。对于 10,000 个用户,这最终可能是 ~3MB。内存不大,很容易和其他服务器保持同步,也很容易注销/撤销sessionid。
如果我使用 JWT 之类的无状态令牌,我似乎需要检查对服务器的每个请求的令牌,看看它是否在撤销列表中。并且该撤销列表必须至少具有两个字段,令牌 ID 和令牌最初有效的时间(以便最终可以删除该条目,否则撤销列表总是会增长)。另外,出于安全原因,我确信用户需要知道所有登录的会话,所以我仍然需要保留每个活动令牌的详细信息,包括它所针对的用户 ID 和该令牌的最后一页命中。
那么,使用无状态令牌(需要服务器撤销列表)与轻量级有状态服务器会话相比有什么好处?
【问题讨论】:
标签: rest session asp.net-web-api token stateless