• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    React-Router如何進行頁面權限管理的方法

    來源:懂視網 責編:小采 時間:2020-11-27 22:24:10
    文檔

    React-Router如何進行頁面權限管理的方法

    React-Router如何進行頁面權限管理的方法:前言 在一個復雜的SAP應用中,我們可能需要根據用戶的角色控制用戶進行頁面的權限,甚至在用戶進入系統之前就進行權限的控制。本文就此一權限控制進行討論。本文假設讀者了解React和React-Router的相關使用。 從傳統的Router開始 一個傳統的路由大概長下邊這
    推薦度:
    導讀React-Router如何進行頁面權限管理的方法:前言 在一個復雜的SAP應用中,我們可能需要根據用戶的角色控制用戶進行頁面的權限,甚至在用戶進入系統之前就進行權限的控制。本文就此一權限控制進行討論。本文假設讀者了解React和React-Router的相關使用。 從傳統的Router開始 一個傳統的路由大概長下邊這

    前言

    在一個復雜的SAP應用中,我們可能需要根據用戶的角色控制用戶進行頁面的權限,甚至在用戶進入系統之前就進行權限的控制。本文就此一權限控制進行討論。本文假設讀者了解React和React-Router的相關使用。

    從傳統的Router開始

    一個傳統的路由大概長下邊這個樣式,這是沒有添加任何權限限制的。

    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個頁面 IndexPage, PhotoPage,InfoPage。

    添加第一個權限

    假設我們需要在用戶進入PhotoPage之前需要驗證用戶是否有權限,根據store的的一個狀態去判斷。

    先添加如下一個函數

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

    函數里我們判斷了state的admin是否等于1,否則跳轉到首頁。

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

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

    通過以上,就完成了第一個權限的添加

    進入系統之前就進行權限控制

    如果需要在進入系統之前就進行權限控制,那么就需要改變一下策略。

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

    首先添加一個加載數據的函數

    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>

    這樣在進入下邊之前,就會先進行數據加載。

    通過以上簡單幾步,一個完整的權限控制鏈就完成了.

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    React-Router如何進行頁面權限管理的方法

    React-Router如何進行頁面權限管理的方法:前言 在一個復雜的SAP應用中,我們可能需要根據用戶的角色控制用戶進行頁面的權限,甚至在用戶進入系統之前就進行權限的控制。本文就此一權限控制進行討論。本文假設讀者了解React和React-Router的相關使用。 從傳統的Router開始 一個傳統的路由大概長下邊這
    推薦度:
    標簽: 方法 如何 權限
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 久久精品国产精品亚洲毛片| 久久线看观看精品香蕉国产| 国产精品一久久香蕉国产线看观看| 国产高清在线精品一本大道国产 | 国产成人久久精品二区三区 | 亚洲国产另类久久久精品| 国产微拍精品一区二区| 国产精品福利一区二区久久| 无码国产精品一区二区免费3p | 国产精品视频永久免费播放| 久久国产热这里只有精品| 亚洲色图国产精品| 97国产精品视频| 国产精品视频永久免费播放| 久久久无码人妻精品无码| 中文字幕精品亚洲无线码一区应用| 精品国产呦系列在线观看免费 | 99久久夜色精品国产网站| 99re久久精品国产首页2020| 精品少妇人妻av无码久久| 亚洲AV无码久久精品色欲| 亚洲AV无码成人精品区大在线| 久久久久国产精品麻豆AR影院| 国产精品久久久久乳精品爆| 亚洲精品欧美综合| 久久国产乱子精品免费女| 国产精品视频免费| 九九精品成人免费国产片| 国产第一福利精品导航| 国产精品免费网站| 久久精品免费观看| 国产AⅤ精品一区二区三区久久| 中文字幕一区二区精品区| 一区二区三区国产精品| 9999国产精品欧美久久久久久| 66精品综合久久久久久久| 日本人精品video黑人| 亚洲欧美日韩精品| 国产精品hd免费观看| 国产系列高清精品第一页| 精品午夜国产人人福利|