ASP.NET Core не поддерживает и не использует web.config.Опубликованный файл web.config доступен только для хостинга IIS, поскольку IIS требует этого.Если вам довелось публиковать на другом веб-сервере, вы могли бы полностью отказаться от web.config.
Из содержимого опубликованного web.config должно быть очевидно, что оно крайне пустое.Практически единственное, что существует, - это конфигурация модуля AspNetCoreHosting, которая, конечно, необходима для размещения ASP.NET Core внутри IIS.
Теперь о том, почему вторая версия на самом деле сработала это связано с тем, что он был помещен в system.webServer
, что напрямую связано с настройкой IIS, поэтому IIS выполняет авторизацию на очень высоком уровне, прежде чем что-либо будет передано вашему приложению ASP.NET Core.Это может работать для ваших нужд, но это крайне грубый подход, так как вам, вероятно, придется в конечном итоге определить множество таких разделов для разных путей, пользователей и уровней авторизации, а затем синхронизируйте это со всем, что вы в конечном итоге меняете в приложении ASP.NET Core.Поскольку IIS рассматривает это как просто статические пути, если вы перемещаете или переименовываете что-либо, вы можете случайно открыть дыру в вашей безопасности, поскольку IIS еще не был настроен для авторизации этого нового местоположения.
Короче говоря, вы должны удалить все это и обработать авторизацию через ваше приложение ASP.NET Core . Проверка подлинности Windows по-прежнему поддерживается.