在会话存储中保存用户对象
Save user object in Session Storage
我正在使用 Angular 2 和 Typescript,并希望将用户对象保存为全局变量,这样它就不会被多次检索。我找到了会话存储,现在将用户对象保存在那里。
您认为将其存储在那里是好的做法还是数据过于敏感?如果可以,我还可以使用什么其他类型的缓存?
这是我现在使用的代码:
user.service.ts:
getProfile() {
let cached: any;
if (cached = sessionStorage.getItem(this._baseUrl)) {
return Observable.of(JSON.parse(cached));
} else {
return this.http.get(this._baseUrl).map((response: Response) => {
sessionStorage.setItem(this._baseUrl, response.text());
return response.json();
});
}
}
getProfile() 在 app.component 时调用 ngOnInit()。应用程序的其他组件也需要用户对象。
会话存储中有 secure/sensitive 数据是可以的。
因为会话存储仅适用于当前 table 和域...
如果用户在另一个 window 选项卡中检查相同的会话存储数据,那么它不会在那里....所以它的安全存储....
如果想了解更多,请查看sessionStorage
您可以使用 sessionStorage
或使用 service
。
你的interface
:
export interface ISession {
session:Object
}
你的实际 service
class:
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
class 注入其他 class constructors
并使用它。
我正在使用 Angular 2 和 Typescript,并希望将用户对象保存为全局变量,这样它就不会被多次检索。我找到了会话存储,现在将用户对象保存在那里。
您认为将其存储在那里是好的做法还是数据过于敏感?如果可以,我还可以使用什么其他类型的缓存?
这是我现在使用的代码:
user.service.ts:
getProfile() {
let cached: any;
if (cached = sessionStorage.getItem(this._baseUrl)) {
return Observable.of(JSON.parse(cached));
} else {
return this.http.get(this._baseUrl).map((response: Response) => {
sessionStorage.setItem(this._baseUrl, response.text());
return response.json();
});
}
}
getProfile() 在 app.component 时调用 ngOnInit()。应用程序的其他组件也需要用户对象。
会话存储中有 secure/sensitive 数据是可以的。
因为会话存储仅适用于当前 table 和域...
如果用户在另一个 window 选项卡中检查相同的会话存储数据,那么它不会在那里....所以它的安全存储....
如果想了解更多,请查看sessionStorage
您可以使用 sessionStorage
或使用 service
。
你的interface
:
export interface ISession {
session:Object
}
你的实际 service
class:
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
class 注入其他 class constructors
并使用它。