为了账号安全,请及时绑定邮箱和手机立即绑定

前端如何保存登录状态啊? 好让网站头部呈现的信息不一样?

前端如何保存登录状态啊? 好让网站头部呈现的信息不一样?

Qyouu 2019-03-13 18:19:58
1.采用前后端分离的开发模式. 前后台并行开发. 后台提供接口,angular去调用。2.网站有访问权限, 必须要登录才能访问某些页面。3.网站头部,根据登录是否来呈现不同的信息. 比如登录后:欢迎 (xx用户名).4.后台每个接口都判断了用户是否登录. 5.我的做法: 用户登录后. 我会在sessionStorage里面存一个key. 然后在路由文件里$stateChangeSuccess判断是否有这个key,没有的话就$state.go('login')去登录。现在的问题是.sessionStorage不能浏览器多个标签共存.就是用户其实已经登录了,然后用新标签打开页面.这时候$stateChangeSuccess判断没有这个key就跳到登录login页面去了.sessionStorage不能多标签共存. localStorage又必须要手动清除...大家通常是怎么做的啊?
查看完整描述

2 回答

?
暮色呼如

TA贡献1853条经验 获得超9个赞

cookie不能标识是否登录,后端session与前端cookie匹配认为是一个会话,没登录也有session退出登录也有session,而且session有超时,所以无法用session/cookie去判断。你这个只是调数据时判断是否登录就可以了,写个全局xhr事件/全决ajax拦截器,如果后端返回未登录,你就跳转到登录页面。至于显示用户信息,那后端提供给接口就可以了。

查看完整回答
反对 回复 2019-04-22
?
浮云间

TA贡献1829条经验 获得超4个赞

cookie啊,这不是烂大街的技术了吗?其实localStorage也挺不错的。不喜欢sessionStorage,还不如cookie呢。


查看完整回答
反对 回复 2019-04-22
  • 2 回答
  • 0 关注
  • 598 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信