2016-07-28 13 views
1

私は現在、React-Reduxアプリケーションを持っています。React-Reduxアプリケーションでadminユーザーまたはスーパーユーザーを作成するにはどうすればよいですか?

Iが反応-Reduxので管理者ユーザーを作成します。

userAdminで状態を作成すると、ユーザーは状態にアクセスしてこの値を変更できますか?つまり、これはそのようなアクセスを作成する安全な方法ですか?

私はwebpackを使用してbundle.jsを作成し、JWTを使用して保護されたデータを提供するnode.jsサーバーを使用しています。

さらに、react-reduxアプリケーションで管理ユーザーを作成するための標準または準標準パターンがありますか?この上

私の考えは以下のとおりです。

  1. 管理、ユーザー管理用に別のアプリを作成します。

  2. 管理ユーザーの状態を作成し、その状態がtrueの場合は、管理者アクションに対してserverAPIを照会します。しかしを表示するには、その状態が真である場合にのみ管理機能を使用します。他のユーザーを削除したり、ユーザーの詳細を表示したりすることができます。その後、状態が秘密に変更された場合、ユーザーはアクションのみを表示できますが、必要な権限がないとAPIにアクセスすることはできません。

+0

ここで必要なのは、一度、ユーザーが管理者であることをクライアント側で検証することです。この状態が実行時に(何とか)変更される可能性があるという問題を克服するために、サーバー側の検証を追加する必要があります。 –

答えて

1

tldr:あなたの考えは、あなたは、ユーザーが自分の権限を昇格するために、クライアント側のアプリケーションの状態を操作することができることを前提に正しい正しい

です。しかし、あなたのアーキテクチャーが正しく行われていれば、それは有益なメリットはありません。

管理者だけがアクセスする必要のあるデータは、最初は通常のユーザーには送信しないでください。管理者のみが行うことができる変更は、管理ユーザーを識別するJWTでのみ受け付ける必要があります。

右の管理は、サーバー側で行われる必要があります。クライアントアプリケーションは、UIに反映されます。

関連する問題