【问题标题】:IIS ignores authorization in web.configIIS 忽略 web.config 中的授权
【发布时间】:2010-09-02 14:19:55
【问题描述】:

我在为我的 asp.net 应用程序使用 web.config 中的 Windows 身份验证和授权标签时遇到问题。当我在 IIS 中(在 IIS 6 和 IIS 7 中)托管应用程序时,授权标签被忽略。当我在 Visual Studio 2010 附带的 asp.net 开发服务器中运行该应用程序时,它运行良好。

为什么它不能在 IIS 中工作?又该如何解决?

    <system.web>
           <identity impersonate="true" />
           <authentication mode="Windows" />
           <authorization>
                <deny users="*"/>
           </authorization>       
    </system.web>

【问题讨论】:

  • 如果您发布实际的 web.config 位会有所帮助。

标签: asp.net iis authorization


【解决方案1】:

没有看到 web.config 听起来你还没有配置 IIS。当您使用 Windows 身份验证时,ASP.NET 期望 Web 服务器执行身份验证 - 因此您必须对其进行配置,仅将其放入 web.config 是不够的。

对于 IIS6:

  1. 在 IIS 管理器中,双击 本地计算机;右键单击 Web 站点文件夹,一个单独的网站 文件夹、虚拟目录或 文件;然后单击属性。
  2. 单击目录安全或文件 安全选项卡,然后在 身份验证和访问控制 部分,单击编辑。
  3. 在经过身份验证的访问部分中, 选择 Windows 集成 身份验证复选框。
  4. 点击确定两次。

对于 IIS7:

  1. 打开 IIS 管理器并导航到您要管理的级别。有关打开 IIS 管理器的信息,请参阅打开 IIS 管理器 (IIS 7)。有关导航到 UI 中的位置的信息,请参阅 IIS 管理器中的导航 (IIS 7)。
  2. 在功能视图中,双击身份验证。
  3. 在身份验证页面上,选择 Windows 身份验证。
  4. 在“操作”窗格中,单击启用以使用 Windows 身份验证。

【讨论】:

  • 我已在 IIS 中启用 Windows 身份验证。
  • 你还需要禁用匿名身份验证(在IIS6的相同位置,假设在IIS7中类似),否则IIS仍然不会对你进行身份验证。
猜你喜欢
  • 1970-01-01
  • 2011-10-12
  • 2012-10-06
  • 2014-10-16
  • 1970-01-01
  • 2011-11-13
  • 1970-01-01
  • 2020-05-28
  • 1970-01-01
相关资源
最近更新 更多