web-dev-qa-db-ja.com

ASP.NET MVC + Web API2 + AngularJSの承認と認証

私は、ASP.NETMVCとバックエンドのAngularJS + WebApi2の両方で構成される1つの大きなアプリケーションを開発しています。以前は、アプリケーションでMVCフォーム認証を使用していました。 AngularJS + Web Apiでトークンベースの認証を使用する方法の例はたくさんありますが、両方のケースに適合する完全なソリューションを見つけることはできません。

このトピックについて読むことができるいくつかの情報を提供してください。ステップバイステップの例、チュートリアル、またはブログで、両方の混合認証が説明されています。

10
saniokazzz
  1. WebAPI2アプリケーションにASP.NetIdentity 2を実装する ASP.Identity 2の実装に関する優れたチュートリアルは次のとおりです 。 WebAPIアプリとMVC5アプリを異なるプロジェクトに保持することをお勧めします。

  2. AngularJSアプリから直接APIに接続するか、MVCアプリからAPIに接続するかを決定します

  3. AngularJSアプリから直接APIメソッドを呼び出す場合は、 OAuth2のこのディレクティブ を使用します。 access_tokenをlocalstorageまたはcookieに保存します。

  4. MVCアプリ内からAPIメソッドを呼び出す場合は、access_tokenをクライアント側に保存し(localstorageまたはcookieのいずれかを使用)、APIへの呼び出しごとに使用します。 これは、ASP.Net MVC5でAngularJSを使用する方法を示すチュートリアルです

  5. 本番環境で安全な接続(https)を使用していることを確認してください。

更新

WebAPI用のデフォルトのASP.Netプロバイダーを使用できます。ただし、デフォルトのプロバイダーはEnityFrameworkで最適に機能します。
私はEFのファンではないので、自分でカスタムプロバイダーを使用しました。 ここに概要があります カスタムIDプロバイダーの。 このMySQLの例 カスタムプロバイダーの実装に大いに役立ちました(ただし、SQL Serverを引き続き使用しましたが、独自の内部DALを使用しました)。

10
su8898