2017-09-02 7 views
-1

ソリューションにIdentity 2.0認証を使用してASP.net Web API 2を構築したので、外部ベンダーが分析のためにデータをデータベースにダンプできます。私は内部ユーザーがユーザーを追加したり削除したりできるように、同じIdentityデータベースに接続してWeb APIのユーザーを管理する別のMVCソリューションを構築しました。しかし、私の上司は、Web APIプロジェクト(非ソリューション)の中にUI管理(MVC)を構築するのがベストプラクティスであることを今日教えてくれました。私は困惑しています、それは最善の方法ですか、あるいは2つのソリューションを別々に保つのですか?ASP.net APIプロジェクト内のUI

答えて

0

このユースケースでは、NFRsの違いにより、別のWebアプリケーションが必要です。

APIが外部にあります。 MVC UIは内部的です。そのため、セキュリティ要件は異なります.MVCアプリケーションはより機密性が高く、さまざまな手段、たとえばセキュリティで保護する必要があります。 AD統合。 MVCアプリケーションが内部ネットワーク上に置かれている間、APIはあなたのDMZに常駐してアクセスできる必要があります。

APIは一般消費者のためのものであり、可用性要件が異なる場合があります。 APIはおそらく24時間365日ですが、管理者以外のユーザーに影響を与えることなく、内部アプリを保守のために停止することができます。管理サイトが単一のWebサーバー上で実行される可能性がある一方で、IPスティッキ性を必要とせずにステートフルになる可能性がある間に、APIはおそらくロードバランシングを意味するように設計する必要があります。

導入スケジュールが異なります。システム機能が変更されるとAPIが変更されます。 MVC UIは、管理機能が変更された場合にのみ変更されます。もう片方だけを残してアップグレードすることができます。

これらのアプリケーションを一緒にロックする理由はなく、多くの理由があります。間違いなくそれらを組み合わせることがベストプラクティスではありません。

関連する問題