【问题标题】:Difference between authorization in system.web and system.webServer in web.config?web.config 中 system.web 和 system.webServer 中的授权之间的区别?
【发布时间】:2020-09-03 13:22:31
【问题描述】:

我想知道这些 sn-ps 之间有什么区别。不是关于<authorization>元素的具体内容,而是关于system.websystem.webServer元素。

<configuration>
   <system.webServer>
      <security>
         <authorization>
            <remove users="*" roles="" verbs="" />
            <add accessType="Allow" users="" roles="Administrators" />
         </authorization>
      </security>
   </system.webServer>
</configuration>

还有:

<system.web>
  <authorization>
    <deny users="*" />
  </authorization>
</system.web>

到目前为止,我的研究理论是这样的:

  • system.webServer 配置 IIS(从 IIS 7 开始)。
  • system.web 配置 ASP.NET。

system.webServer 下应用的授权配置是否会处于“较低”级别 (IIS),而在system.web 下配置的身份验证是否会被 ASP.NET 框架拾取,并由其运行代码强制执行?一个会覆盖另一个吗?我可以在 IIS 10 上使用 system.web 下的授权元素吗?

【问题讨论】:

    标签: .net iis web-config config


    【解决方案1】:

    system.web 和 system.webServer 是有区别的。它们不会相互覆盖。

    <system.webServer> 元素为 ApplicationHost.config 文件中的 Internet 信息服务 (IIS) 7 的许多站点级和应用程序级配置设置指定根元素,并包含定义由Web 服务器引擎和模块。

    <system.web> 元素包含有关 ASP.NET 托管层如何管理进程范围行为的信息。自 .NET Framework 3.5 SP1 起,system.web 元素及其子 applicationPool 元素已添加到 .NET Framework。当您在集成模式下运行 IIS 7.0 或更高版本时,此元素组合允许您配置 ASP.NET 如何管理线程以及当 ASP.NET 托管在 IIS 应用程序池中时它如何对请求进行排队。如果您在经典或 ISAPI 模式下运行 IIS 7.0 或更高版本,这些设置将被忽略。

    可以在system.web下配置授权,然后发布到iis。

    【讨论】:

      【解决方案2】:

      system.web 是 IIS6 及旧版本的设置部分

      system.webServer 是 IIS7 及更高版本的替换设置部分

      更多信息您也可以参考:https://docs.microsoft.com/en-us/previous-versions/bb515251(v=vs.140)#the-systemwebserver-section

      如果身份验证部分没有真正起作用,请验证设置中是否缺少其他任何内容: 如果是授权,你可以查看这个官方文档:System.Webserver authorization

      但如果与身份验证有关,请检查另一个:System.Webserver authentication

      【讨论】:

      • 在 IIS 10 上,system.webServer 身份验证无效,但system.web 下的身份验证有效。也许是因为表单身份验证也是在system.web 下设置的? system.web 配置即使适用于最新的 IIS 版本?
      • 尝试检查您在 IIS 10 上的设置,可能有些设置不好,这就是为什么它在那里无法正常工作,我更新了我的答案以包含授权和身份验证官方文档中的一些文章
      猜你喜欢
      • 2010-09-26
      • 2011-10-28
      • 2011-07-07
      • 1970-01-01
      • 1970-01-01
      • 2020-02-10
      • 2011-06-13
      • 1970-01-01
      • 2015-06-03
      相关资源
      最近更新 更多