2016-08-15 113 views
1

我有一個.Net核心1.0 Web應用程序的目標框架4.6使用Windows身份驗證(Intranet站點)。它在IIS Express下的開發環境中運行良好。。IIS核心和Windows身份驗證在IIS 8失敗

在startup.cs我:

services.Configure<IISOptions>(options => { 
      options.ForwardWindowsAuthentication = true; 
      }); 

一旦在Windows Server 2012,但上線的應用程序出現了錯誤部署到IIS 8:

var userName = context.User.Identity.Name; 

以「未將對象引用設置爲一個對象的實例「錯誤。在web.config中,我有:

<system.web> 
     <authentication mode="Windows" /> 
     <authorization> 
      <deny users="?" /> 
     </authorization> 
    </system.web> 

在IIS管理器中的「身份驗證」的網站,一切都只是「Windows身份驗證」以及禁用。在IIS中使用相同設置的同一臺服務器上的另一個ASP.NET MVC 4站點正常工作。還有什麼我可以嘗試得到這個工作?

回答

2

的配置設置如下解決這個問題,特別是forwardWindowsAuthToken =真:

<system.webServer> 
    <handlers> 
     <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified" /> 
    </handlers> 
    <aspNetCore processPath="<path to app>" arguments="" stdoutLogEnabled="true" stdoutLogFile="<outpath>" forwardWindowsAuthToken="true" /> 
     <security> 
      <authentication> 
       <anonymousAuthentication enabled="false" /> 
      </authentication> 
     </security> 
    </system.webServer>