sessionStorage解决Ehcache页面缓存session登录问题

0

最近用了一下Ehcache的页面缓存,发现了个问题,头部有显示用户名的情况下,所有页面都显示一个用户名。
想了想这个问题,解决办法:

  • 不用缓存,这个也算一种办法,不过这样有点点扯蛋。
  • 每次使用ajax每次都请求一次,这个每个页面都请求一次,感觉也不是很好。
  • 还有就是在客户端保存用户数据了,并且和session的时间是一致的。于是就发现了这个sessionStorage,不过不知道和是不是也有时间限制,这个并没有了解。

最近好忙,很多自己的事情都做不完整。今天早晨起来看了勇敢的心,这个电影真心不错,希望看到这个文章的朋友也去看看吧!希望你也有一颗勇敢的心,一颗自由的心!

我看了一下,发现sessionStorage还是要谨慎使用,这个只是在同一个浏览器的TAB中会共享,新打开一个TAB的话,就会消失。
如果使用cookie来保存数据,不设置过期时间,默认和session的时间一样,但是这样带来的问题就是cookie会在每次请求都传到服务器。

两种解决方案:

使用cookie

在登录的时候写入一个默认时间的cookie保存登录信息,使用js来读取cookie(注意如果设置了cookie的httponly那么JS是不能读取的)。

缺点:每次请求都需要发送这个没有意义的cookie。

使用sessionStorage

每次都是用ajax来请求用户信息,然后保存到sessionStorage中。然后使用js读取sessionStorage

缺点:每打开一个新窗口都需要ajax请求一次。