【问题标题】:Best way to keep authenticated user profile in Angular2在 Angular2 中保留经过身份验证的用户配置文件的最佳方法
【发布时间】:2016-10-20 20:23:13
【问题描述】:

我正在使用 Angular2 和 Auth0 对用户进行身份验证。 目前,根据他们的“最佳实践”,用户配置文件保存到 localStorage ,一旦您需要提取信息,就从那里获取。 这对我来说听起来像是一个不好的做法,有没有更好的方法来保持登录个人资料以进行本地查询(姓名、照片等)?也许使用 Angular2 服务?

【问题讨论】:

    标签: javascript angular local-storage


    【解决方案1】:

    问题是如果您想保留用户配置文件以供以后使用(如果用户关闭窗口并稍后重新打开它)而不必向服务器发出请求。然后你需要把它存储在某个地方。

    并且浏览器中的存储设施非常有限:IndexedDB 用于具有查询功能、索引等的数据库存储,localStorage 用于简单的键=>值存储,甚至cookie 用于有限数量的数据,如纯文本。

    但如果您不需要这些数据以供以后使用,您可以将其保存在内存中(例如,在服务中)。

    您还可以在服务中结合内存和离线存储。

    【讨论】:

    • 我正在使用 FB 登录用户,并在顶部栏中显示个人资料图像和名称。在这种情况下,如果用户关闭窗口并在我的网站上再次打开,我想要图像和名称 - 你会如何建议这样做?
    • 如果您只保留这些信息,您可以将其保存在 localStorage 中(但不要保留敏感信息)。如果您需要更“密集”的数据处理,例如对多个存储文档进行查询,那么请使用 IndexedDB。
    • 此信息可以持续多久(如果我希望它像在 FB 上一样,最好使用 cookie,只要用户没有断开连接,他就会登录)?跨度>
    • 您能否提供一个示例/链接来解释如何在服务中执行此操作?
    【解决方案2】:

    您可以将这两种方式结合起来。 将其存储在 localstorage 以获取该信息而无需随时请求它们,并在其周围包裹 Service 以不解决来自任何地方的存储问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 2013-08-27
      • 2015-05-23
      • 1970-01-01
      • 1970-01-01
      • 2023-02-16
      • 2013-02-21
      相关资源
      最近更新 更多