• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專(zhuān)題視頻專(zhuān)題問(wèn)答1問(wèn)答10問(wèn)答100問(wèn)答1000問(wèn)答2000關(guān)鍵字專(zhuān)題1關(guān)鍵字專(zhuān)題50關(guān)鍵字專(zhuān)題500關(guān)鍵字專(zhuān)題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專(zhuān)題關(guān)鍵字專(zhuān)題tag2tag3文章專(zhuān)題文章專(zhuān)題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專(zhuān)題3
    問(wèn)答文章1 問(wèn)答文章501 問(wèn)答文章1001 問(wèn)答文章1501 問(wèn)答文章2001 問(wèn)答文章2501 問(wèn)答文章3001 問(wèn)答文章3501 問(wèn)答文章4001 問(wèn)答文章4501 問(wèn)答文章5001 問(wèn)答文章5501 問(wèn)答文章6001 問(wèn)答文章6501 問(wèn)答文章7001 問(wèn)答文章7501 問(wèn)答文章8001 問(wèn)答文章8501 問(wèn)答文章9001 問(wèn)答文章9501
    當(dāng)前位置: 首頁(yè) - 科技 - 知識(shí)百科 - 正文

    React-Router如何進(jìn)行頁(yè)面權(quán)限管理的方法

    來(lái)源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-27 22:24:10
    文檔

    React-Router如何進(jìn)行頁(yè)面權(quán)限管理的方法

    React-Router如何進(jìn)行頁(yè)面權(quán)限管理的方法:前言 在一個(gè)復(fù)雜的SAP應(yīng)用中,我們可能需要根據(jù)用戶的角色控制用戶進(jìn)行頁(yè)面的權(quán)限,甚至在用戶進(jìn)入系統(tǒng)之前就進(jìn)行權(quán)限的控制。本文就此一權(quán)限控制進(jìn)行討論。本文假設(shè)讀者了解React和React-Router的相關(guān)使用。 從傳統(tǒng)的Router開(kāi)始 一個(gè)傳統(tǒng)的路由大概長(zhǎng)下邊這
    推薦度:
    導(dǎo)讀React-Router如何進(jìn)行頁(yè)面權(quán)限管理的方法:前言 在一個(gè)復(fù)雜的SAP應(yīng)用中,我們可能需要根據(jù)用戶的角色控制用戶進(jìn)行頁(yè)面的權(quán)限,甚至在用戶進(jìn)入系統(tǒng)之前就進(jìn)行權(quán)限的控制。本文就此一權(quán)限控制進(jìn)行討論。本文假設(shè)讀者了解React和React-Router的相關(guān)使用。 從傳統(tǒng)的Router開(kāi)始 一個(gè)傳統(tǒng)的路由大概長(zhǎng)下邊這

    前言

    在一個(gè)復(fù)雜的SAP應(yīng)用中,我們可能需要根據(jù)用戶的角色控制用戶進(jìn)行頁(yè)面的權(quán)限,甚至在用戶進(jìn)入系統(tǒng)之前就進(jìn)行權(quán)限的控制。本文就此一權(quán)限控制進(jìn)行討論。本文假設(shè)讀者了解React和React-Router的相關(guān)使用。

    從傳統(tǒng)的Router開(kāi)始

    一個(gè)傳統(tǒng)的路由大概長(zhǎng)下邊這個(gè)樣式,這是沒(méi)有添加任何權(quán)限限制的。

    export default (store) => {
     const history = syncHistoryWithStore(hashHistory, store);
     return (
     <Router history={history}>
     <Route path="/" component={AppRoot} >
     <IndexRoute component={IndexPage} />
     <Route path="photo" component={PhotoPage} />
     <Route path="info" component={InfoPage} />
     </Route>
     {/* <Redirect path="*" to="/error" /> */}
     </Router>
     )
    }
    

    這里一共有3個(gè)頁(yè)面 IndexPage, PhotoPage,InfoPage。

    添加第一個(gè)權(quán)限

    假設(shè)我們需要在用戶進(jìn)入PhotoPage之前需要驗(yàn)證用戶是否有權(quán)限,根據(jù)store的的一個(gè)狀態(tài)去判斷。

    先添加如下一個(gè)函數(shù)

    const authRequired = (nextState, replace) => {
     // Now you can access the store object here.
     const state = store.getState(); 
     if (state.admin != 1) {
     replace('/');
     }
     };

    函數(shù)里我們判斷了state的admin是否等于1,否則跳轉(zhuǎn)到首頁(yè)。

    然后在Route添加 onEnter={authRequired} 屬性

    <Route path="photo" component={PhotoPage} onEnter={authRequired} />

    通過(guò)以上,就完成了第一個(gè)權(quán)限的添加

    進(jìn)入系統(tǒng)之前就進(jìn)行權(quán)限控制

    如果需要在進(jìn)入系統(tǒng)之前就進(jìn)行權(quán)限控制,那么就需要改變一下策略。

    比如上邊的例子,加入state的admin并未加載,那么就需要在上一層的route進(jìn)行數(shù)據(jù)加載

    首先添加一個(gè)加載數(shù)據(jù)的函數(shù)

    function loadData(nextState, replace, callback) {
     let unsubscribe;
     function onStateChanged() {
     const state = store.getState();
     if (state.admin) {
     unsubscribe();
     callback();
     }
     }
     unsubscribe = store.subscribe(onStateChanged);
     store.dispatch(actions.queryAdmin());
     }

    接著再修改一下Router

    <Router history={history}>
     <Route path="/" component={AppRoot} onEnter={loadData}>
     <IndexRoute component={IndexPage} />
     <Route path="photo" component={PhotoPage} onEnter={authRequired} />
     <Route path="info" component={InfoPage} />
     </Route> 
     </Router>

    這樣在進(jìn)入下邊之前,就會(huì)先進(jìn)行數(shù)據(jù)加載。

    通過(guò)以上簡(jiǎn)單幾步,一個(gè)完整的權(quán)限控制鏈就完成了.

    聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    React-Router如何進(jìn)行頁(yè)面權(quán)限管理的方法

    React-Router如何進(jìn)行頁(yè)面權(quán)限管理的方法:前言 在一個(gè)復(fù)雜的SAP應(yīng)用中,我們可能需要根據(jù)用戶的角色控制用戶進(jìn)行頁(yè)面的權(quán)限,甚至在用戶進(jìn)入系統(tǒng)之前就進(jìn)行權(quán)限的控制。本文就此一權(quán)限控制進(jìn)行討論。本文假設(shè)讀者了解React和React-Router的相關(guān)使用。 從傳統(tǒng)的Router開(kāi)始 一個(gè)傳統(tǒng)的路由大概長(zhǎng)下邊這
    推薦度:
    標(biāo)簽: 方法 如何 權(quán)限
    • 熱門(mén)焦點(diǎn)

    最新推薦

    猜你喜歡

    熱門(mén)推薦

    專(zhuān)題
    Top
    主站蜘蛛池模板: 99视频精品全部在线观看| 777欧美午夜精品影院| 91精品最新国内在线播放| 久久夜色撩人精品国产| 久久这里只有精品首页| 老司机67194精品线观看| 老司机午夜网站国内精品久久久久久久久| 久久91精品国产91久久户| 精品一区二区三区免费毛片爱| 欧美日韩成人精品久久久免费看 | 日韩精品无码永久免费网站 | 久久夜色精品国产亚洲| 国语自产少妇精品视频蜜桃| 日韩熟女精品一区二区三区| 精品国产毛片一区二区无码| 欧美精品亚洲精品日韩| 国产在线精品一区二区不卡| 国产亚洲精品岁国产微拍精品| 色偷偷88888欧美精品久久久| 亚洲国产成人精品无码久久久久久综合 | 久久夜色精品国产| 国内精品久久久久久久久电影网| 91精品视频在线| 亚洲一区精品中文字幕| 精品久久久久久亚洲| 3D动漫精品一区二区三区| 国产精品特级毛片一区二区三区| 久久精品亚洲中文字幕无码麻豆| 久久精品人人做人人爽97| 久久久久久国产精品无码超碰| 漂亮人妻被黑人久久精品| 无码精品一区二区三区在线| 色妞ww精品视频7777| 久久国产欧美日韩精品| jizz国产精品网站| 国产在线拍揄自揄视精品不卡 | 亚洲国产精品久久久久久| 精品一区二区三区在线视频| 久久久国产精品网站| 北条麻妃国产九九九精品视频| 国产成人高清精品免费观看|