私のアプリケーションには、従業員と管理者という2つの役割があります。 ミドルウェアを実装しようとしているため、コンテンツを見る権限がないユーザーはリダイレクトされます。 React Routerの一般的な認証だけでなく、ユーザーの役割も正しく処理されていますか?リアクタールーターのユーザー役割(Firebase)のベストプラクティス
私の最初の考えは、firebase.auth()。currentUserにカスタムロール属性を追加することでしたが、firebaseによってcurrentUserに属性を追加することはできません。
もしそうなら、どうすればいいですか? 状態を介して、あるいは、これは
var requireEmp = (nextState, replace, next) => {
var role;
var uid = firebase.auth().currentUser.uid;
firebase.database().ref('/users/' + uid + '/role').once('value').then((user) => {
role = user.val().role;
});
if (role !== 'employee') {
replace('/');
}
next();
};
を?:ように私のFirebase DBからそれをフェッチ...
<Router history={hashHistory}>
<Route path="/" >
<Route path="home" component={Main} onEnter={requireLogin}>
<Route path="work" component={Work} onEnter={requireEmp}/>
<Route path="profile" component={Profile} />
<IndexRoute component={Profile}/>
</Route>
</Route>
</Router>
私が反応するように新しいと再来とまだ少し状態で作業を怖がっおよび重要ですユーザーロール属性などのデータ
私はユーザーの役割の実装に関して本当に注意する必要がある他の領域は何ですか?
ありがとうございました。