我有一个小的,简单的ASP.NET 4.5.2 Web应用程序,访问受IIS Manager用户限制。父网站是公共的(允许ANON/ALL用户),并且该应用程序已禁用所有身份验证,并且在服务器级别添加了IIS用户,并且在IIS授权规则下,如下所示。这在IIS 8.5上非常有效,但是未经授权的401登录在7.5上失败。
我已经梳理了角色功能,站点以及服务器和应用程序设置,但我找不到两者之间的区别,除了Win Server 2008上的7.5,而Win Server 2012-R2上的7.5和8.5。两者都有选择Windows和IIS Manager用户的IIS管理服务,并且启用远程连接未选中(仅将其用于应用程序访问而不是管理)。两者都在网络服务下使用ASP.NET 4.0 App池,他们对这两个服务器上的Web文件夹结构都有完整的权利。
关于寻找什么的想法将不胜感激。
<?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>
最终发现,在新旋转2008/IIS 7.5服务器Network Service
中没有Read
权限c:WindowsSystem32inetsrv
。