2016-10-22 6 views
2

私はjavascriptでfirebaseに対話するreact + reduxを使ってアプリケーションを構築しています。異なる権限(ユーザーの役割に基づく)を持つさまざまなユーザーがこのアプリケーションを使用するため、ユーザーの権限に応じて異なるコンポーネントをレンダリングしたいと考えています。データ自体ではなく、特定のデータベース参照のユーザーの権限を取得していますか?

私はすでにすべての権限をfirebaseのルールとして持っているので、クライアントのデータも複製したくありません。私はむしろ現在ログインしているユーザーができることとできないことをfirebaseに尋ねたいと思います。

これは火災ベースでは不可能と思われます。私は何をできるようにしたいと思い、このようなものです:回避策は

var canReadBars = firebase.database().ref('foo/bar').hasPermission('read'); 
if (canReadBars){ 
    // render the component 
} 

A(むしろ醜い)を単にデータそのものをフェッチし、私はPERMISSION_DENIEDを取得するかどうかに基づいてレンダリングするかを決定することですが、それは書き込みのために実際には機能しません。

私は何時間も答えを見つけようとしました。誰にもアイデアはありますか?

答えて

1

ユーザがデータへのアクセス権を持っていない場合、Firebaseは意図的に一般的なエラーメッセージをクライアントに公開します。

クライアントがデータベース内のアクセス許可のリストを取得する方法はありません。また、ユーザーフレンドリーなエラーメッセージを表示する方法もありません。

+0

返信いただきありがとうございます!しかし、私は本当にそれらのもののいずれかを探していません。私は、私が特定の道に書いたり読んだりすることができるかどうかを私に教えてくれるfirebaseが必要です。私はパーミッションのリストや何らかのエラーメッセージを必要とせず、単純なtrueまたはfalseで十分です。 – Johanh

+0

そのためのAPIはありません。 –

+0

しかし、そのような機能を実装する計画はありますか?そうでない場合は、他の回避策がありますか?私はそれが他の開発者にとっても非常に便利だと思います。 – Johanh

関連する問題