我正在使用Angular 2和Typescript,并希望将用户对象保存为全局变量,因此无法多次检索它。我找到了会话存储,现在将用户对象保存在那里。
您认为将它存储在那里是好的做法还是数据过于敏感?如果是这样,我可以使用哪种其他类型的缓存?
以下是我现在使用的代码:
user.service.ts:
{{1}}
当ngOnInit()时,在app.component中调用getProfile()。应用程序的其他组件也需要用户对象。
答案 0 :(得分:9)
可以在会话存储中获得安全/敏感数据。
由于会话存储仅适用于当前表和域...
如果用户在另一个窗口选项卡中检查相同的会话存储数据,那么它就不会存在....所以它的安全存储....
如果想了解更多信息,请查看sessionStorage
答案 1 :(得分:5)
您可以使用sessionStorage
或使用service
。
您的interface
:
export interface ISession {
session:Object
}
您的实际service
课程:
import {Injectable} from '@angular/core';
@Injectable()
export class SessionService implements ISession {
private _session: session
constructor(){
}
set session(value){
this._session = value;
}
get session(){
return this._session
}
}
现在,您可以将此SessionService
类注入其他类constructors
并使用它。