9

Ich habe Internet MVC Application mit Individual User Accounts Authentifizierung erstellt, aber jetzt sollte dieses Projekt Intranet mit Windows-Authentifizierung sein ... Wie die Authentifizierung wechseln, wenn das Projekt fast fertig ist? Ich bin nicht Guru in MVC und das ist neue Technologie für mich, also bitte jede Hilfe und wenn möglich mit allen Schritten in der Beschreibung =)Wie wechseln Sie die Authentifizierung in der MVC-Anwendung?

Antwort

11

In der Web.config Ihres Projekts. Der erste Schritt wäre Änderung:

<authentication mode="Forms"> 
</authentication> 

zu

<authentication mode="Windows"> 
</authentication> 

Ihr Projekt auswählen und F4 schlägt für das Eigenschaften-Fenster können Sie die Authentifizierungsmethode ändern.

Doch statt ich hier nur Schritt für Schritt setzen Sie mit diesem sehr einfachen Anleitung folgen: Enabling Windows Authentication

2

Ich fürchte, ich ein bisschen spät mit meiner Antwort sind Sie Frage sind, wie man Implementieren Sie die SwitchUser-Funktionalität, aber für diejenigen von Ihnen, die immer noch damit zu kämpfen haben (auch Microsoft SharePoint kann es immer noch nicht funktionieren ...), hier ist, wie es gemacht wird: (

Switch User Functionality using MVC4 and Windows Authentication

Wenn Sie weitere Informationen benötigen, wie ge t Windows-Authentifizierung workong für eine Intranet Website mit AD und Windows Server 2012 (oder höher), dann nehmen Sie einen Blick auf meine folgenden Artikel:

Windows Authentication on Intranet Website using AD and Windows Server 2012 (or Higher)

Glücklich Codierung!

+0

Danke. Das könnte hilfreich sein. – Bryuk

2

Da ich diese Frage durch google versucht, die gleiche Sache, und Schusswaffe Link tut nicht ganz den Prozess gerecht zu werden, werde ich versuchen, die Schritte aufzulisten, die ich hier durchging. Offensichtlich, wenn ich dir sage, etwas zu entfernen, bedeutet das nur, wenn du es sonst nicht benutzt. Ich glaube nicht, dass Sie diese Schritte in einer bestimmten Reihenfolge tun müssen. Außerdem verwende ich Entity Framework, also müssen Sie sich woanders umsehen, um es zu entfernen.

  1. im Lösungsexplorer markieren Sie Ihr Projekt und drücken Sie f4. Dadurch wird das Eigenschaftenfenster für dieses Projekt geöffnet. Deaktivieren Sie die anonyme Authentifizierung. Aktivieren Sie die Windows-Authentifizierung.
  2. Tools -> NuGet-Paket-Manager -> NuGet-Pakete für die Lösung verwalten ... alles mit "owin" im Namen, Microsoft.AspNet.Identity.EntityFramework und Microsoft.AspNet.Identity.Core deinstallieren.
  3. Öffnen Sie Ihre Web.config. Entfernen Sie unter assemblyBinding unter Laufzeit alle abhängigen Assemblys für Owin-Dateien, die zurückgelassen wurden. Ersetzen Sie unter system.web <authentication mode="None" /> durch <authentication mode="Windows" /> <authorization> <deny users="?" /> </authorization>. Entfernen Sie unter system.webServer handlers. Unter Module, entfernen Sie <remove name="FormsAuthentication" />.
  4. Entfernen Sie die Konten und Verwalten Sie Controller und Ansichten. Entfernen Sie die ManageViewModels von Ihren Modellen.
  5. Unter App_Start, loswerden IdentityConfig und Startup.Auth.
  6. Auf der obersten Ebene, direkt neben Ihrer Webkonfiguration, ist Startup.cs. Werde es los.
  7. Erstellen Sie einen neuen ApplicationDbContext. Es sollte von DbContext abgeleitet werden.Befreien Sie sich von throwIfV1Schema: false in Ihren Konstruktoren. Dann können Sie IdentityModels von Ihrem Modellordner loswerden. Fügen Sie eine neue Migration hinzu und aktualisieren Sie Ihre Datenbank.
  8. Offensichtlich müssen Sie alle Referenzen löschen, die Sie selbst gemacht haben.
2

genau das gleiche Problem Suche führte mich zu diesem Artikel, aber die Antworten ein wenig alt sind, also mit ASP.NET MVC mit 5 diese detaillierte Dokumentation von Microsoft sein sollte:

  1. Zur Erkennung Windows-Authentifizierung In einem MVC-Projekt sucht der Assistent in der Datei web.config nach dem Element authentication.

    <configuration> 
        <system.web> 
         <authentication mode="Windows" /> 
        </system.web> 
    </configuration> 
    
  2. Um Windows-Authentifizierung in einem Web-API-Projekt zu ermitteln, sucht der Assistent für das IISExpressWindowsAuthentication Element aus Ihrem CSPROJ-Datei des Projektes:

    <Project> 
        <PropertyGroup> 
         <IISExpressWindowsAuthentication>enabled 
         </IISExpressWindowsAuthentication> 
        </PropertyGroup> 
    </Project> 
    

bei Gefunden Diagnosing errors with the Azure Active Directory Connection Wizard

Für mein spezifisches Problem war der Wechsel zu Azu Re-AD statt Windows-Authentifizierung (die voreingestellt war), gibt es mehr Schritte auf der Developer-Netzwerk-Website gefunden.