ASP.NET Web.config身份验证/授权设置

mad*_*ora 7 authentication asp.net-mvc authorization web-config windows-authentication

我正在尝试从Web.config文件中的MVC5项目配置IIS身份验证设置.

这就是我所拥有的.我希望启用Windows身份验证并禁用匿名身份验证.

在此输入图像描述

但是在IIS中发布我的包后,设置就是这样.

在此输入图像描述

我还需要做什么才能在Web.config 中将匿名身份验证设置为已禁用?这不是<deny users "?"/>应该做的吗?

pra*_*uan 5

这里我们一步一步走:

  1. 打开Internet信息服务(IIS)管理器:

    • 如果您使用的是Windows Server 2012或Windows Server 2012 R2:
    • 在任务栏上,单击“服务器管理器”,单击“工具”,然后单击“ Internet信息服务(IIS)管理器”。
    • 如果您使用的是Windows 8或Windows 8.1:
    • 按住Windows键,按字母X,然后单击“控制面板”。单击管理工具,然后双击Internet信息服务(IIS)管理器。
    • 如果您使用的是Windows Server 2008或Windows Server 2008 R2:
    • 在任务栏上,单击“开始”,指向“管理工具”,然后单击“确定”。

      Internet信息服务(IIS)管理器。

    • 如果您使用的是Windows Vista或Windows 7:

    • 在任务栏上,单击“开始”,然后单击“控制面板”。
    • 双击管理工具,然后双击Internet信息服务(IIS)管理器。

      1. 在“连接”窗格中,展开服务器名称,再展开“站点”,然后转到要配置的层次结构窗格中的级别,然后单击网站或Web应用程序。
      2. 滚动到“主页”窗格中的“安全性”部分,然后双击“身份验证”。4.在“身份验证”窗格中,选择“匿名身份验证”,然后在“操作”窗格中单击“禁用”。

或者您可以通过配置文件禁用:

<location path="Contoso">
   <system.webServer>
      <security>
         <authentication>
            <anonymousAuthentication enabled="false" />   <!--This line you need-->
            <basicAuthentication enabled="true" defaultLogonDomain="Contoso" />
            <windowsAuthentication enabled="true" />
          </authentication>
      </security>
   </system.webServer>
</location>
Run Code Online (Sandbox Code Playgroud)

拒绝匿名用户访问整个网站:

   <authorization>
    <deny users="?" ></deny>    
    </authorization>
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你;)


小智 -2

右键单击“匿名身​​份验证”,然后单击“禁用”

  • 是的,我知道如何更改 IIS 中的设置,我正在尝试在 Web.config 中进行设置,并想知道为什么我的设置不能转换。 (4认同)