ASP.NET Core MVCアプリケーション(UI)とは別のASP.NET Core Web APIアプリケーションがあります。将来的には多くの異なるクライアントがAPIにアクセスする必要があるため、いくつかの理由でそれらを組み合わせることは望ましくありません。MVCアプリケーションのクライアントとコントローラの両方からASP.NET WebAPIを呼び出す際のセキュリティ上の問題
MVCアプリケーションは、APIへの呼び出しを2つの異なる方法で行います。
1. MVCコントローラでSystem.Net.HttpClientを使用してビューモデルを設定します。
2. jQuery AJAXを呼び出すときに、私はAPIを直接呼び出すのが最善であると考えました。 (注:私はCORSがMVCアプリケーションからの呼び出しを許可するようにしました)。これはAngularクライアントがAPIを直接呼び出すのと同じことです。
私の質問:
私はjQueryを使ってクライアントから直接APIにかなり一般的意思の呼び出しを行うと、AJAXを使用して、ちょうどビューのデータをロードしない場合は別途コントローラにSystem.Net.HttpClientています何です。 AJAXの呼び出しはまずMVCコントローラに移動し、MVCコントローラはSystem.Net.HttpClientを使用してDELETE要求を行い、クライアントからAPIを直接呼び出すことはありませんか?
セキュリティ上の懸念は何ですか?私はjQueryから直接APIを呼び出すことについて少し神経質になります。私は誰でもlocalhost:6000(私のMVCポート)であり、localhost:6001/api/users/1(私のAPIポート)に対してDELETE要求をすると誰もが思うように感じる。
トークンベース認証を使用できます。一般的にコントローラを安全にしてください。 annoymousリクエストを停止します。 –