2016-08-22 25 views
8

My Asp.Net Core mvc WebアプリケーションにはWindows認証が必要です。者協会では、IIS Expressで、すべてがAsp.NetコアMVCアプリケーションIISでのWindows認証

を設定し、これに罰金おかげで動作しますlaunchSettings.json

"iisSettings": { 
    "windowsAuthentication": true, 
    "anonymousAuthentication": false, 
    "iisExpress": { 
     "applicationUrl": "http://localhost:61545/", 
     "sslPort": 0 
    } 
    } 

IISにデプロイすると、私は空白のページを取得します。私のサイトへのリクエストは500のエラーコードを取得します。

hereは成功せず、説明したように私は、Startup.csにこの設定を追加しようとしました。

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

IISで直接認証パラメータを調べると、Windows認証が有効になります。

Microsoft.AspNetCore.Server.WebListenerというパッケージについて、カスタムミドルウェアの実装についての話がありました。私は、この基本的な機能が働くために多くの努力を必要としているとは想像できません。何か不足していますか?

+0

認証のためにエラーが発生していますか?もしそうなら、エラーメッセージは何ですか? –

+0

あなたのFREBログには何がありますか? https://www.iis.net/learn/troubleshoot/using-failed-request-tracing/troubleshooting-failed-requests-using-tracing-in-iis – blowdart

+0

あなたはIISマネージャでアプリケーションプールのアイデンティティをいじってみてくださいすることができます:http :情報のおかげで、これは非常に便利です –

答えて

12

launchSettings.jsonファイルはVSでのみ使用されます。あなたのアプリを公開する(またはVSなしで実行する)場合、launchSettings.jsonは使用されていません。 IIS/IISExpressで実行するときは、web.configの設定が正しいことを確認するだけです。あなたの場合、web.configのforwardWindowsAuthToken属性がないか、falseに設定されています。 Windows認証が機能するには、trueに設定する必要があります。公開前のweb.configのサンプルは、次のようになります。

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <handlers> 
     <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/> 
    </handlers> 
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="true"/> 
    </system.webServer> 
</configuration> 
+2

//www.iis.net/learn/manage/configuring-security/application-pool-identities。ここで説明するように、それは、VS 2017を使用して私に起こっている、存在しない場合は、手動でweb.configファイルを作成する必要があります:[https://developercommunity.visualstudio.com/content/problem/26751/publish-aspnet -coreツーIIS-と-窓-authentica.html](https://developercommunity.visualstudio.com/content/problem/26751/publish-aspnet-core-to-iis-with-windows-authentica.html) –

1

プロジェクトディレクトリにweb.configをチェックする必要があります。この設定は私を助けてくれました。

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <handlers> 
     <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModule" resourceType="Unspecified"/> 
    </handlers> 
    <aspNetCore processPath="%LAUNCHER_PATH%" arguments="%LAUNCHER_ARGS%" stdoutLogEnabled="false" stdoutLogFile=".\logs\stdout" forwardWindowsAuthToken="true"/> 
    <security> 
     <authentication> 
     <anonymousAuthentication enabled="false" /> 
     <windowsAuthentication enabled="true" /> 
     </authentication> 
    </security> 
    </system.webServer> 
</configuration> 
関連する問題