ASP.NET Identity v2 を使用する ASP.NET MVC 5 サイトがあります。NWebSecを使用して「強化」しようとしています。
このサイトでは MVC と Owin を使用しているため、NWebSec.MVC と NWebSec.OWIN NuGet パッケージをインストールしました。
ドキュメントを読むと、設定ファイルを介して NWebSec/MVC に多くのオプションを設定でき、Startup.cs ファイルを介してコードで同じオプションのいくつかを NWebSec.OWIN に設定できます。
たとえば、HSTS を追加するには、web.config で次のようにします。
<nwebsec>
<httpHeaderSecurityModule xmlns="http://nwebsec.com/HttpHeaderSecurityModuleConfig.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="NWebsecConfig/HttpHeaderSecurityModuleConfig.xsd">
<securityHttpHeaders>
<strict-Transport-Security max-age="365" includeSubdomains="true" httpsOnly="false" preload="true" />
</securityHttpHeaders>
</httpHeaderSecurityModule>
</nwebsec>
...および/または startup.cs の次の内容:
public void Configuration(IAppBuilder app)
{
this.ConfigureAuth(app);
app.UseHsts(o => o.MaxAge(365).IncludeSubdomains().AllResponses().Preload());
}
私の質問は、両方の場所ですべてのオプションを設定する必要があるのか、それとも 1 つの場所だけで設定する必要があるのか (その場合、どちらが優れているか) ですか?
web.config ファイルですべての構成を行いたいのですが、Startup.cs ファイルで設定する必要があるいくつかの設定が失われるかどうかはわかりません。