vuejs+koa 2+mysql全スタック開発個人ブログ(3)——ページアクセス権限
1833 ワード
このブログでは、このブログで構築された2つ目の技術的要点:ページアクセス権限について詳しく説明します.
私たちはこのブログについて知っています.バックグラウンドは観光客が訪問できないもので、フロントは公開されています.では、どうやって区別しますか?
ページにmetaプロパティを設定する
各ページについて、公開されたページであれば、権限がないことを意味する
ページルーティングが変化するたびに、ルーティングのbeforeEachメソッドがトリガーされます.
私たちはこのブログについて知っています.バックグラウンドは観光客が訪問できないもので、フロントは公開されています.では、どうやって区別しますか?
ページにmetaプロパティを設定する
各ページについて、公開されたページであれば、権限がないことを意味する
{auth:false}
が設定される.プライベートページの場合はauthプロパティは設定されません.ページルーティングが変化するたびに、ルーティングのbeforeEachメソッドがトリガーされます.
router.beforeEach(({meta,path},from,next)=>{
store.dispatch('showProgress',0);
// NProgress.start();
let {auth=true}=meta //meta false auth false; auth true
let isLogin = Boolean(store.state.token) // true or false
/*
meta:false
meta:false
*/
//
if(auth&&!isLogin){
return next({path:'/login'});
}
// reg login Home
if(isLogin&&(path=='/login'||path=='/reg')){
return next({path:'/admin'});
}
// reg
next();
});