gpt4 book ai didi

node.js - 在哪里以 Angular 存储客户端数据,稍后在 REST-API 中用于获取信息

转载 作者:行者123 更新时间:2023-12-02 15:17:11 24 4
gpt4 key购买 nike

我有一个 Angular 应用程序,每当用户登录时,我都会通过 REST-API 请求从服务器获取他的所有数据以及 jsonwebtoken,并将其存储在本地存储中。

之后,我在其他 REST-API 调用中使用相同的用户数据,例如电子邮件、account_status、id 等来获取更多信息。这显然不是正确的做法,用户可以修改他的 localstorage 数据并轻松获取其他用户的信息。

我使用 jsonwebtoken 进行身份验证,通过 REST-API 调用验证 authgaurd 服务 中的 token 。

任何人都可以建议存储信息的正确方法并附上简短的描述。我可以使用 Cookie 来解决该问题吗?

最佳答案

创建共享服务并导入应用模块,在所有组件中使用它,

import { Injectable } from '@angular/core';
import {Subject} from 'rxjs/Subject';
import {Observable} from 'rxjs/Observable';
import { MyWrapper } from '../models/models';

@Injectable()
export class SharedService{

data:any={};

setData(key,value) {
this.data[key]=value;
}

clearData() {
this.data={};
}

getData(key) {
return this.data[key];
}

}

注意:这并不完全像本地存储一样工作,一旦浏览器关闭或页面刷新 session 存储,您就会丢失数据,但您仍然可以跨组件放置和获取数据。

要设置数据,

 sharedService.setData("mydata","mydata");

要获取数据,

 sharedService.getData("mydata");

如果您希望数据持久存在,那么替代方法是将数据存储在服务器中并在 ngOnInit 中获取数据或使用某种加密(jsencryptcryptojs) 当将数据存储在本地存储中时,用户将无法修改它。但这仍然不是一个防弹解决方案。如果您要存储一些敏感数据,我建议您存储它在服务器中。

关于node.js - 在哪里以 Angular 存储客户端数据,稍后在 REST-API 中用于获取信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56404221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com