前端加密用户个人信息以及订阅信息变化

大家通常会在登录后把个人信息存放在LocalStorage中,且是明文的。。。这其实是有很大的安全隐患的,假如被别有用心的人直接编辑修改,那会造成伪造权限进行操作的现象

http.post('/api/v1/login', params, (userInfo) => {
  localStorage.setItem('userInfo', userInfo)
})

我们应该对存储的个人信息进行加密,并且也需要在取值时进行解密

const USER_INFO_KEY = 'userInfo'


class UserInfoStroage {
  tasks: Record<> = {}
  get(key) {
    // 解密取值
  }
  set(value) {
    // 加密存储
    // 执行tasks
  }
  clear() {
    // 清除
  }
  subscribe(key, cb) {
    // 事件订阅,监听变化
    tasks[key] = cb
  }
}

export const uis = new UserInfoStroage()

这个事件订阅挺重要的,我们可能需要监听userInfo变化时去执行一些函数,就可以在这里进行订阅~

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容