locaStorage的替代方案是什么?

时间:2019-07-25 08:36:03

标签: javascript angular cookies angular6 local-storage

我正在构建一个角度应用程序。

此应用包含特定的用户个人资料以及一些用户可以成为其成员的组。

因此,该应用基本上具有一些组和一些用户。

我将'currentGroup'的名称存储在localStorage中。

但是我不想再使用localStorage,因为任何人都可以访问它并根据需要更改groupName。

那么有没有更好的方法来记住groupName以及实际上其他的localStorage项?

试图在appComponent中声明它们,但是我猜想一段时间后不会记住这些值。

有什么替代方案?预先感谢

4 个答案:

答案 0 :(得分:0)

浏览器具有三个存储-localStorage,sessionStorage和cookie。但是,如果您担心有人可以更改存储在任何这些存储中的值,则需要对其进行加密并只能自己解析(通过代码)。为此,您还需要拥有服务器,在该服务器上将对其进行加密或解密。为此,您可以使用您提供的密钥轻松创建json网络令牌(jwt)。

答案 1 :(得分:0)

基本上,正如Hayk所提到的,您可以在浏览器中找到3种存储类型(SessionStorage,LocalStorage和Cookies)。您可以使用其中任何一个。但是,如果您使用的是角度,则可以尝试使用NgRx商店。

它可以用于状态管理,存储和修改数据,这非常有效。

您可以尝试:https://ngrx.io/guide/store

答案 2 :(得分:0)

您可以创建一个服务,并使用main.component的ngOninit()将数据放在此处,从而使数据在整个应用程序中可用。如果您仅收到一次数据(例如在登录时),则此方法将对您不起作用。但是,在main.component的同一ngOninit()中,您可以引发请求,并将响应数据放置在同一服务中。如果此逻辑适合您,请使用它。

答案 3 :(得分:0)

您可以使用api将数据存储在服务器端。但这仅在您存储敏感数据时有用。对于不敏感的数据,您可以使用本地存储。