2016-09-16 3 views
1

Ich möchte ein ASP.NET MVC-Projekt als Intranet-Webanwendung hosten. Zur Zeit habe ich Probleme mit der Konfiguration des IIS. Schließlich sollte die Webanwendung die Informationen des Anmeldebenutzers (Windows) verwenden und sie über das AD überprüfen. Ist dies der IIS implict oder benötige ich zusätzlichen Code in meinem Projekt?Konfiguration von IIS für Intranet-Anwendung ASP.NET MVC

Meine aktuelle Konfiguration: Ich habe nur Windows-Authentifizierung in meinem ASP.NET-Projekt aktiviert. Im IIS ich auch nur aktiviert Windows-Authentifizierung in der Option Authentifizierung der gehosteten Website. Meine .NET Authoritzation Regeln: Lassen

Alle Benutzer geerbt & zulassen mydomain \ myuser GET, POST Lokale

ich auch die IIS-Anwendungspool Rechte für den jeweiligen Ordner im Verzeichnis gewährt (

Innerhalb dieser Einstellungen Ich stehe auch fest, während ich auf die Seite komme. Das erste komische Ding ist, dass die Seite nach meinem Benutzernamen und Passwort fragt (Warum nimmt es nicht die Informationen des Anmeldebenutzers?). Das zweite komische Ding ist (das ist - Ich denke - in Korrelation mit der ersten Sache - akzeptiert nicht meine korrekten Anmeldeinformationen.

Für mich sieht es so aus, als ob der Server die Zugangsdaten nicht überprüfen kann - der Server weiß nicht, wo er es überprüfen muss.

/EDIT1/ hier meine web.config:

<configuration> 
    <configSections> 
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> 
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> 
    </configSections> 
    <appSettings> 
    <add key="webpages:Version" value="3.0.0.0" /> 
    <add key="webpages:Enabled" value="false" /> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
    <add key="owin:AutomaticAppStartup" value="false"/> 
    </appSettings> 
    <system.web> 
    <compilation debug="true" targetFramework="4.6.1" /> 
    <httpRuntime targetFramework="4.6.1" /> 
    <authentication mode="Windows" /> 
    <httpModules> 
     <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" /> 
    </httpModules> 
    </system.web> 
    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" /> 
     <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="1.0.0.0-5.2.3.0" newVersion="5.2.3.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" /> 
     <bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" /> 
     </dependentAssembly> 
     <dependentAssembly> 
     <assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
    <system.codedom> 
    <compilers> 
     <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" /> 
     <compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" /> 
    </compilers> 
    </system.codedom> 
    <system.webServer> 
    <validation validateIntegratedModeConfiguration="false" /> 
    <modules> 
     <remove name="ApplicationInsightsWebTracking" /> 
     <add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" /> 
    </modules> 
    </system.webServer> 
    <entityFramework> 
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" /> 
    <providers> 
     <provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" /> 
    </providers> 
    </entityFramework> 
</configuration> 
+1

post up Ihre Web-Konfiguration bitte – Henry24

+0

versuchen, unter dem Authentifizierungsmodus – Henry24

+0

hat nicht funktioniert. darf ich irgendetwas in der applicationhost.config des Servers angeben? Für mich scheint es wirklich, dass er Anmeldeinformationen gegen einen AD-Server oder eine Art von diesem nicht überprüfen kann ... Aber wirklich nicht wohin – yesfabime

Antwort

0

Es ist in der Regel ein Browser einstellen, ob die Anmeldeinformationen leise, ohne zu fragen den Benutzer zugeführt werden sollte.

Schauen Sie sich den folgenden Link an, es geht um etwas anderes, aber es hat auch die Schritte, um den Browser zu konfigurieren. https://ping.force.com/Support/PingFederate/Integrations/How-to-configure-supported-browsers-for-Kerberos-NTLM

Versuchen Sie, Anmeldeinformationen eines Benutzerkontos auf dem Server selbst zu verwenden, um zu sehen, ob das funktioniert. Wenn der Active Directory-Dienst funktioniert, sollte der Server in der Lage sein, die Benutzer zu authentifizieren. Sie können auch versuchen, die Autorisierung für eine bestimmte Domäne/einen Benutzer zuerst zu entfernen und diese später hinzuzufügen, wenn Sie sich authentifizieren können.

Beachten Sie, dass Sie auch die anonyme Authentifizierung deaktivieren müssen.

+0

Ich versuchte die Anmeldung mit einem lokalen Benutzer - aber es endet wieder in einer neuen Anfrage von Anmeldeinformationen .. – yesfabime