10

Ich entwickle eine große Anwendung, die aus ASP.NET MVC und AngularJS + Web Api2 auf Back-End bestehen wird. Zuvor habe ich die MVC-Formularautorisierung in meinen Anwendungen verwendet. Es gibt viele Beispiele, wie tokenbasierte Autorisierung mit AngularJS + Web Api verwendet werden kann, aber keine vollständige Lösung gefunden werden kann, die für beide Fälle geeignet ist.ASP.NET MVC + Web API2 + AngularJS Autorisierung und Authentifizierung

Bitte geben Sie mir einige Informationen, wo ich zu diesem Thema lesen kann, vielleicht Schritt-für-Schritt-Beispiele, Tutorials oder Blogs, wo gemischte Autorisierung für beide beschrieben wird.

Antwort

10
  1. Implementieren Sie ASP.Net Identity 2 in Ihrer WebAPI2-Anwendung here is a good tutorial on implementing ASP.Identity 2. Es ist besser, wenn Sie die WebAPI- und MVC5-App in verschiedenen Projekten aufbewahren.

  2. Entscheiden Sie, ob Sie direkt auf die API verbinden möchten von Ihrem AngularJS App oder von Ihrem MVC-app

  3. Wenn API Aufruf methodes direkt von Ihrem AngularJS App, this directive for OAuth2 verwenden. Speichern Sie das access_token in localstorage oder cookie.

  4. Wenn Sie die API-Methoden in Ihrer MVC-App aufrufen, speichern Sie das access_token auf der Clientseite (entweder mit lokalem Speicher oder einem Cookie) und verwenden Sie es für jeden Aufruf Ihrer API. here is a tutorial showing how to use AngularJS with ASP.Net MVC5

  5. Stellen Sie sicher, dass Sie eine sichere Verbindung (https) in der Produktion verwenden.

aktualisiert

Sie den Standard der ASP.Net-Provider für WebAPI nutzen können. Aber die Standardanbieter funktionieren am besten mit EnityFramework.
Ich bin kein Fan von EF, also habe ich benutzerdefinierte Anbieter selbst verwendet. Here is an overview von benutzerdefinierten Idenity-Anbietern. This MySQL example hat mir bei der Implementierung eines benutzerdefinierten Providers sehr geholfen (allerdings habe ich immer noch SQL Server verwendet, aber mit unserer eigenen internen DAL).

+0

Vielen Dank. Vielleicht haben Sie einige Tipps zum Implementieren von benutzerdefinierten Rollen-, Prinzip- und Identitätsanbietern auf Serverseite? Oder es ist besser, die ASP.Net Identity 2-Standardanbieter zu verwenden? – saniokazzz

+0

Bitte sehen Sie meine aktualisierte Antwort – su8898