У меня есть небольшое, простое ASP.Net 4.5.2 веб-приложение, доступ к которому ограничен пользователями IIS Manager. Родительский сайт является общедоступным (Allow Anon/All Users), и приложение отключило аутентификацию, а пользователь IIS добавлен на уровне сервера и в соответствии с правилами авторизации IIS, как показано в приведенной ниже конфигурации. Это отлично работает на IIS 8.5, но логин завершается с ошибкой 7.5 с помощью 401 Unauthorized.Вход пользователя IIS Management Fail on 7.5/Works on 8.5
Я прочел функции роли и настройки сайта и сервера и приложения, и я не могу найти разницу между ними, кроме 7.5 на Win Server 2008 и 8.5 на Win Server 2012-R2. Обе службы IIS Management Service работают с выбранными пользователями Windows и IIS Manager, а также отключены удаленные подключения (только для доступа к приложениям, а не для администрирования). Оба используют пул приложений ASP.Net 4.0 в Network Service, который имеет полные права на структуры веб-папок на обоих серверах.
Идеи о том, что искать, будут оценены.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<compilation strict="false" explicit="true" debug="false" targetFramework="4.5.2" />
<customErrors mode="Off" />
<httpRuntime targetFramework="4.5.2" />
<webServices>
<protocols>
<add name="HttpGet" />
<add name="HttpPost" />
</protocols>
</webServices>
</system.web>
<system.webServer>
<handlers>
<add verb="GET,POST" name="About" type="MyApp.About" path="About" />
</handlers>
<modules>
<!-- Replaces Global.asax -->
<add name="AppModule" type="MyApp.AppModule" />
<!-- Required for IIS Manager Users to browse the site -->
<add name="WebManagementBasicAuthentication" type="Microsoft.Web.Management.Server.WebManagementBasicAuthenticationModule, Microsoft.Web.Management, Version=7.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</modules>
<defaultDocument enabled="false">
<files>
<clear />
</files>
</defaultDocument>
<directoryBrowse enabled="false" />
<security>
<authorization>
<clear />
<remove users="*" />
<add accessType="Allow" users="IIS.Manager.Username.Here" />
</authorization>
</security>
</system.webServer>
</configuration>