3

私はSPAアプリケーションで認証ではなく認証に取り組む方法に関するベストプラクティスを見つけようとしています。SPAまたはクライアント側のアプリケーションでの認証

私はAPIバックエンドでクライアントサイドのMVC(角度、vuejsなど)を持っていると言いますが、アプリの承認をどのように使用して管理しますか?

たとえば、ユーザーと管理者の両方がアクセスできますが、アクセス権(ビュー内の機能)はもう一方のものよりも高くなります。彼らが両方ともクライアント側で同じUIを使用している場合、アクセスに応じて適切なビューをどのように保護してレンダリングしますか?ロール/クレームのリストを取得し、それに基づいてクライアント側で何をレンダリングするかを決定するオプションがありますが、それはJSに基づいているので容易に回避できます。

クライアント側のmvcアプリが適切なソリューションではない可能性があり、SSRアプリがこれに適していると私には聞きます。その場合、モバイルケースはどうですか?実際のネイティブアプリを開発することなく、モバイルの同じ問題をどうやって解決しますか?

+1

もう1つの質問ですが、クライアント側のアプリケーションを作成した場合、認可ルールをトラッキングするにはどうすればよいでしょうか?一度にすべてをフェッチしたり、ローカルに保存したり、API呼び出しを行って各ルールをチェックしたりできますか?セキュリティと効率の点からのベストプラクティス? – mghz

答えて

0

これは私の心の中で長い間、非常に良い質問です。そして、なぜこれが誰にも答えられていないのか分かりません。私はこれについていくつかの記事やチュートリアルを読み、それらのすべてに、彼らはあなたが言及した同じことを提案:

を「自分の役割/クレームのリストを取得し、それに基づいてクライアント側でレンダリングするためにどのような 決定します「

そして、あなたはまた、前述のように、それはを回避することができますが、認可はサーバー側にもに行われますので、私が思うに、ユーザーは(フロントエンドJSを改ざんする方法その後、どんなに例えばブラウザの開発ツールを使用して)、彼/彼女はpaできません認可ガードです。たとえば(自分のコメント以外の)すべてのコメントに削除ボタンを追加できますが、他のユーザーのコメントの削除ボタンをクリックすると削除ボタンをクリックすることができます。 サーバーは、サーバー側の承認のため、削除アクションを承認しません。だからあなたが言ったアプローチは合法だと思われます。

関連する問題