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
请求一次。