vue后臺管理框架(登錄)

? ? ? ?登錄的時候輸入密碼存到cookie里,可以由個人選擇加密方式,每次在路由跳轉的時候利用router.beforeEach((to, from, next) 判斷是否有token俊庇,如果有,發(fā)送到服務端驗證橄教,如果通過琳拭,就繼續(xù)路由,如果沒有露戒,就重定向到登錄界面椒功。

  鑒權也是一樣的道理捶箱,在router配置中加上 meta: { role: ['Administrator'] },在router.beforeEach()中判斷要去的那個界面是否需要權限蛾茉。并且側邊欄是根據(jù)可訪問的路由動態(tài)生成的讼呢,不同級別的用戶可以看到的側邊欄是不一樣的,這就在一定程度上做到了簡單的權限管理的功能谦炬。

router.beforeEach((to, from, next) => {

? ? ? // console.log(to)

? ? ? NProgress.start(); // 開啟Progress

? ? ? if (store.getters.token) { // 判斷是否有token

? ? ? ? // alert('dont need login ');

? ? ? ? if (to.path === '/login') {

? ? ? ? ? next({ path: '/' });

? ? ? ? }

? ? ? ? else {//如果不是去login 而是其他需要判定權限的

? ? ? ? ? // console.log(store.getters.roles)

? ? ? ? ? if (store.getters.roles.length === 0) { // 如果當前用戶沒有拉取完user_info信息

? ? ? ? ? ? store.dispatch('GetInfo').then(res => { // 拉取user_info

? ? ? ? ? ? ? const roles = res.data.role;

? ? ? ? ? ? ? store.dispatch('GenerateRoutes', { roles }).then(() => { // 生成可訪問的路由表

? ? ? ? ? ? ? ? router.addRoutes(store.getters.addRouters) // 動態(tài)添加可訪問路由表

? ? ? ? ? ? ? ? // console.log(store.getters.addRouters);

? ? ? ? ? ? ? ? next({ ...to }); // hack方法 確保addRoutes已完成

? ? ? ? ? ? ? })

? ? ? ? ? ? })

? ? ? ? ? } else {

? ? ? ? ? ? // 沒有動態(tài)改變權限的需求可直接next() 刪除下方權限判斷 ↓

? ? ? ? ? ? if (hasPermission(store.getters.roles, to.meta.role)) {

? ? ? ? ? ? ? // console.log(to.meta.role)

? ? ? ? ? ? ? // console.log("has permission");

? ? ? ? ? ? ? next();//

? ? ? ? ? ? } else {

? ? ? ? ? ? ? // console.log("has no permission");

? ? ? ? ? ? ? next({ path: '/', query: { noGoBack: true } });

? ? ? ? ? ? }

? ? ? ? ? ? // 可刪 ↑

? ? ? ? ? }

? ? ? ? }

? ? ? } else {

? ? ? ? if (whiteList.indexOf(to.path) !== -1) { // 在免登錄白名單悦屏,直接進入

? ? ? ? ? next()

? ? ? ? } else {

? ? ? ? ? alert('please login');

? ? ? ? ? next('/login'); // 否則全部重定向到登錄頁

? ? ? ? ? NProgress.done(); // 在hash模式下 改變手動改變hash 重定向回來 不會觸發(fā)afterEach 暫時hack方案 ps:history模式下無問題,可刪除該行键思!

? ? ? ? }

? ? ? }

? ? });

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末础爬,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子吼鳞,更是在濱河造成了極大的恐慌看蚜,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赔桌,死亡現(xiàn)場離奇詭異供炎,居然都是意外死亡,警方通過查閱死者的電腦和手機疾党,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進店門音诫,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人雪位,你說我怎么就攤上這事竭钝。” “怎么了雹洗?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵香罐,是天一觀的道長。 經(jīng)常有香客問我时肿,道長庇茫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任螃成,我火速辦了婚禮港令,結果婚禮上,老公的妹妹穿的比我還像新娘锈颗。我一直安慰自己顷霹,他們只是感情好,可當我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布击吱。 她就那樣靜靜地躺著淋淀,像睡著了一般。 火紅的嫁衣襯著肌膚如雪覆醇。 梳的紋絲不亂的頭發(fā)上朵纷,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天炭臭,我揣著相機與錄音,去河邊找鬼袍辞。 笑死鞋仍,一個胖子當著我的面吹牛,可吹牛的內容都是我干的搅吁。 我是一名探鬼主播威创,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼谎懦!你這毒婦竟也來了肚豺?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤界拦,失蹤者是張志新(化名)和其女友劉穎吸申,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體享甸,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡截碴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蛉威。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片隐岛。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖瓷翻,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情割坠,我是刑警寧澤齐帚,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站彼哼,受9級特大地震影響对妄,放射性物質發(fā)生泄漏。R本人自食惡果不足惜敢朱,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一剪菱、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拴签,春花似錦孝常、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至岸梨,卻和暖如春喜颁,著一層夾襖步出監(jiān)牢的瞬間稠氮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工半开, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留隔披,地道東北人。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓寂拆,卻偏偏與公主長得像奢米,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子漓库,可洞房花燭夜當晚...
    茶點故事閱讀 45,044評論 2 355

推薦閱讀更多精彩內容