Vue.js 如果我刷新我的网页,Vuex存储为空
如果我刷新网页,如何保留我的店铺Vue.js 如果我刷新我的网页,Vuex存储为空,vue.js,vue-router,vuex,Vue.js,Vue Router,Vuex,如果我刷新网页,如何保留我的店铺 let store = new Vuex.Store( { modules: { demo, auth }, strict: true } ); let router = new VueRouter( { mode: 'history', saveScrollPosition: true, routes: routes } ) 我使用历史记录模式,但如果我重新加载我的网页,我的存储是空
let store = new Vuex.Store( {
modules: {
demo, auth
},
strict: true
} );
let router = new VueRouter( {
mode: 'history',
saveScrollPosition: true,
routes: routes
} )
我使用历史记录模式,但如果我重新加载我的网页,我的存储是空的。
有解决办法吗
app.js
中将它们从cookie/LocalStorage加载到存储中。这将是常见的做法,如身份验证令牌等,因为您希望在页面刷新的情况下保持用户登录。
Stormpath关于存储代币的文章很好:您可以将您的状态缓存到
会话存储
,该存储将在页面(选项卡)刷新事件后保留,但在页面或浏览器关闭时将被清除
要在应用程序刷新后保留状态数据,您可以使用
localStorage
或sessionStorage
localStorage
中存储令牌的问题在于应用程序容易受到XSS(跨站点脚本)攻击。除此之外,它是相当安全的。localStorage
绑定到域,因此www.yourapp.com
的数据即使在浏览器关闭后也将保留在域中。与cookies不同,您不必管理发出请求的站点。浏览器上具有相同域的所有选项卡都将能够使用localStorage
如果不需要上述行为,您可以使用会话存储
,其工作方式几乎相同,但当浏览器关闭时,数据会被清除
csrf令牌
,以防止csrf(跨站点请求伪造)攻击
如果您计划继续使用cookie,那么请确保它们的标题中的httpOnly
标志设置为true,否则它们就不好
使用localstorage?例如,localstorage是保存令牌Id的一个不错的解决方案?安全性还不错?不,安全性还不错。保存数据的cookie或localstorage,如果您将令牌id保存在cookie或localstorage中,这是一个错误的做法否?否,您没有其他选择SPA-。饼干是最安全的选择。