【发布时间】:2016-01-19 03:56:56
【问题描述】:
我正在开发一个 Angular SPA,我现在正在尝试为会话数据实现某种级别的客户端缓存。这是跨路由/控制器使用的数据,因此我不想不必要地反复访问服务器/数据库来检索它。
我最初使用 sessionStorage 实现了缓存,但注意到当我注销然后重新登录时,之前的会话数据仍然存在。在考虑如何适当地清除缓存的会话数据时,似乎最安全的处理方法是仅在我的 SPA 中保留会话数据在页面加载/刷新之间。即使我在注销时清除缓存,用户也可能直接导航到登录页面并登录,从而破坏注销过程,从而导致存在不同的会话数据。
假设这是一种合理的方法,有没有办法配置 sessionStorage 或其他缓存机制以仅在页面加载/刷新之间保留缓存?如果没有内置配置,我可以将唯一标识符 (guid) 存储为隐藏字段并在我的 sessionStorage 键中使用它。
提前致谢。
【问题讨论】:
标签: angularjs session caching session-storage