У меня есть проект веб-API ASP.NET 5 MVC 6. Большинство конечных точек API имеют атрибут [Авторизовать], а проверка подлинности Windows включена как в IIS, так и в свойствах проекта в Visual Studio. Все это отлично работает в бета-версии 7.Поддержка аутентификации Windows в ASP.NET 5 beta 8
В бета-версии 8 это не работает. Легко воспроизвести это с полностью чистым проектом:
- Создайте новый проект, используя шаблон веб-API ASP.NET 5.
- Получите свойства проекта (не решение), перейдите на вкладку «Отладка», включите проверку подлинности Windows и отключите «Аноним». Сохраните изменения.
- Нажмите F5 и попробуйте запустить проект.
Результат:
Произошла ошибка при попытке определить идентификатор процесса процесса DNX хостинга приложения.
- Теперь вернитесь к свойствам проекта и включите Аноним. Оставьте Windows включенным. Сохраните изменения.
- Перейдите к контроллеру и добавьте атрибут [Авторизовать].
- F5 еще раз.
Результат:
Проект запускает на этот раз, но веб-API возвращает 500. Обратите внимание, в окне Output:
Microsoft.AspNet.Mvc.Controllers.ControllerActionInvoker: Предупреждение: Ошибка авторизации для запроса в фильтре «Microsoft.AspNet.Mvc.Filters.AuthorizeFilter».
Проект также не работает при публикации в IIS.
Как указано в бета-версии 8 announcement, модель хостинга изменилась, так что IIS теперь передает запрос через Kestrel. Servers page не дает никаких указаний на то, что Kestrel поддерживает проверку подлинности Windows. Есть ли какой-то трюк для получения Windows Authentication, работающего в бета-версии 8?
На данный момент это лучший ответ, поскольку он позволяет фактически выполнять проверку подлинности Windows. Благодаря! – Bill
Нет проблем @Bill - Мне нужно было, чтобы он мог продолжать работать, пока они исправляют ошибку инструмента, не хотел, чтобы этот код возвращался обратно в бета-версию 7 именно из-за этого! –
@Bill Я немного недавно обновил ответ, чтобы использовать отдельную команду, так как сегодня утром я вижу, что Visual Studio снова зашла и изменила мою «веб-команду» обратно на Kestrel ... Она немного хочет установить, что обратно! –