国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答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
主站蜘蛛池模板: 久久精品成人国产午夜 | 亚洲国产欧美在线 | 欧美xx在线 | 亚洲精品制服丝袜二区 | 亚洲午夜久久久久久91 | 国产在线视频一区二区三区 | 在线观看亚洲欧美 | 国产精品视频免费视频 | 国产精品高清一区二区三区不卡 | 欧美精品亚洲网站 | 国产成人高清亚洲一区久久 | 亚洲视频在线视频 | 国产不卡在线观看 | 欧美亚洲一区二区三区在线 | 亚洲欧美日韩在线播放 | 97成人资源 | 国产精品第二页 | 一区二区三区在线免费视频 | 精品久久综合一区二区 | 劲爆欧美精品13页 | 午夜一级 | 国产精品大全国产精品 | 欧美.亚洲.日本一区二区三区 | 亚洲三级电影在线 | 欧美2区| 久久国产精品视频一区 | 中文字幕 日韩有码 | 2021精品国内一区视频自线 | 久久精品国产999久久久 | 国产精品视频第一区二区三区 | 国产成人精品三级在线 | 欧美一区二区三区大片 | 国产 欧美 日韩 在线 | 国产在线播放一区 | 日韩中文字幕a | 日韩 欧美 综合 在线 制服 | 国产成人一区二区三区小说 | 亚洲 欧美综合小说区图片区 | 国产日韩亚洲欧美 | 国产精品久久亚洲一区二区 | 国产v片在线观看 |