В дополнение к другим ответам, которые относятся только к IIS-хостингу, вы можете включить проверку подлинности Windows в самообслуживаемом проекте ASP.NET 5 (протестированном против бета-версии 7 и бета-версии 8), добавив следующее в Startup .cs Configure
, перед app.UseMvc
или аналогичным, который вы хотите защитить:
UPDATE FOR BETA 8
// If we're self-hosting, enable integrated authentication (if we're using
// IIS, this will be done at the IIS configuration level).
var listener = app.ServerFeatures.Get();
if (listener != null)
{
listener.AuthenticationManager.AuthenticationSchemes =
AuthenticationSchemes.NTLM;
}
ПРЕДЫДУЩИЙ ОТВЕТ ДЛЯ BETA 7
// If we're self-hosting, enable windows/integrated authentication.
// For IIS, this needs to be configured in IIS instead, and the
// following will have no effect.
if ((app.Server as ServerInformation) != null)
{
var serverInformation = (ServerInformation)app.Server;
serverInformation.Listener.AuthenticationManager.AuthenticationSchemes =
AuthenticationSchemes.NTLM;
}
Адаптировано из официального примера MusicStore .
Если вы отлаживаете Visual Studio 2015 с помощью IIS Express, вы можете включить проверку подлинности Windows с помощью флажка в страницу свойств отладки для проекта сейчас, а не возиться с файлом applicationhost.config
. Я не мог заставить решение web.config работать для отладки IIS Express, это порождает ошибку в том, что конфигурация не действительна на этом уровне. Обратите внимание, что это не работает в бета-версии 8 - см. эту проблему