1

Ich habe einen Entwurf Voraussetzung für eine ASP.NET MVC 4 (.NET 4.6.1) App auf dem Firmenserver (nicht Azure) gehostet das zu tun folgendes:Wie können Sie die Azure AD-Authentifizierung und die Windows-Authentifizierung in der MVC 4-App mischen?

überprüfen Benutzer über die Windows-Authentifizierung authentifiziert wird, wird

a) Ja - Benutzer als "authentifiziert" kennzeichnen

b) Nein - Verwenden Sie OpenIdConnect (OWIN) für die Authentifizierung mit Azure Active Directory.

Sobald authentifiziert verwenden Sie die Standard [Autorisieren] Attribute auf Controller-Methoden usw. Ich habe Windows und Azure AD Authentifizierung implementiert ist einzelne MVC-Apps aber nie zusammen.

Ich habe mehrere Quellen gefunden, die beschreiben, wie man Windows und Forms Authentifizierung mischt, aber keine für diese Kombination.

Hat jemand Einblick, wie dies erreicht werden könnte?

+0

Ich habe eine vage Erinnerung, dass wenn Sie Datei | neues Projekt erstellen und ein neues asp.net mvc-Projekt erstellen. Mit dem Assistenten können Sie ein leeres Projekt mit mehreren Authentifizierungsmodi erstellen. –

+0

Ich habe das überprüft und in VS2015 Update 3 scheint es, dass Sie beim Erstellen des Projekts nur einen Authentifizierungsmodus auswählen können. – ChrisP

Antwort

1

hatte ich eine ähnliche Anforderung vor einem Jahr und mein Ansatz war:

Der Anwender zur Eingabe ihrer AD-Anmeldeinformationen weitergeleitet werden (https://azure.microsoft.com/en-us/documentation/articles/app-service-mobile-how-to-configure-active-directory-authentication/)

Sobald sie auf der AD erfolgreich angemeldet ist, werden Sie bekommen Zeichen.

Dann rufe ich die Azure AD API in ihrem Namen mit dem Token, das ich gerade bekommen habe. Ich würde nur den /me Endpunkt benennen, der mir die persönlichen Daten des Benutzers zurückbringt.

Mit der obigen Antwort muss ich nur überprüfen, ob die E-Mail-Adresse mit der E-Mail-Adresse übereinstimmt, die ursprünglich angefordert wurde.

Wenn es übereinstimmt, bedeutet dies, dass der Benutzer erfolgreich gegen das AD validiert wurde.

Dann können Sie fortfahren und diesem Benutzer ein Token oder Cookie ausstellen, um auf Ihre Anwendung zuzugreifen.

+0

Meine Anforderung ist etwas anders als bei Ihnen. Wenn der Nutzer die Website besucht, möchte ich feststellen, ob er bereits von Windows authentifiziert wurde. Ist dies der Fall, wird die Azure Ad-Anmeldung NICHT angezeigt. Wenn sie nicht von Windows authentifiziert werden, leiten Sie sie zur Azure AD-Anmeldung um. Ich habe Azure AD Authentifizierung über OWIN funktioniert. Jetzt versuche ich herauszufinden, wie man gemischten Modus mit Windows Auth auch hat. – ChrisP