nuxtjs 是vue 服务端渲染 渲染框架 ,
首页权限校验时 是在这里面那种校验比较好
localstrorage/sessionstorage/cookie
localstrorage 和 sessionstorage 请求页面时 服务端并不能拿到client的属性window 所以这个鉴权是页面已经访问了才能鉴权
若用cookie 获取参数鉴权 则在client请求service时可以拿到cookie中的参数
getcookiesInServer(req) {
const service_cookie = {}
req &&
req.headers.cookie &&
req.headers.cookie.split(';').forEach(val => {
const parts = val.split('=')
service_cookie[parts[0].trim()] = (parts[1] || '').trim()
})
return service_cookie
},
使用这个方法就可以拿到
export default function({ redirect, isHMR, req }) {
if (isHMR) return
const user =
getcookiesInServer(req)['user'] || getCookie('user') || false
if (!userLogined) {
let redirectURL = '/login'
return redirect(redirectURL)
}
}
访问时未登录 直接可跳转