2017-11-20 7 views

答えて

0

フロントエンド上のすべてのものを変更して操作できるものとします。バックエンドに適切なセキュリティが必要なので、実際に自分が望んでいないことを何もできないようにする必要があります。

あなたはreduxストアにUserオブジェクトがあると仮定します。このオブジェクトには、プロパティがありますisAdmin: true

これは問題ありません。このプロパティに基づいて、さまざまなボタンや要素などを表示できます。しかし、あなたが決して行っていないことは、その単一のプロパティが管理者のために予約されたデータを要求できるようにすることです。 APIは、jwtトークンをチェックし、ユーザーが特定のデータを実際に閲覧できるようにするなど、追加のチェックを行う必要があります。

共通流は次のようになります。

  • ユーザーは自分のisAdmin状態を変更し、「ダッシュボード」のボタンは、彼のメニューにポップアップ表示されます。
  • ユーザーがそのボタンをクリックします。クライアントは、このページでこのユーザーが許可されていることを確認するために、バックエンドに要求を送信します。
  • APIは401というエラーで応答し、ユーザーは保護されたページからリダイレクトされます。

共通のバックエンド戦略では、トークンを含むAuthorizationヘッダーのすべての要求をチェックするミドルウェアのルートがあります。

関連する問題