当前位置:  开发笔记 > 编程语言 > 正文

在会话存储中保存用户对象

如何解决《在会话存储中保存用户对象》经验,为你挑选了2个好方法。

我正在使用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();
        });
    }
}

当ngOnInit()时,在app.component中调用getProfile().应用程序的其他组件也需要用户对象.



1> Pankaj Baduk..:

可以在会话存储中获得安全/敏感数据.

会话存储仅适用于当前表和域...

如果用户在另一个窗口选项卡中检查相同的会话存储数据,那么它将不在那里....所以它的安全存储....

如果想了解更多信息,请查看sessionStorage



2> Thalaivar..:

你可以使用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并使用它.

推荐阅读
雯颜哥_135
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有