【问题标题】:Why is IIS 7 showing me a default 403 page?为什么 IIS 7 显示默认的 403 页面?
【发布时间】:2010-08-04 21:23:57
【问题描述】:

我已经设置了一个 asp.net 4.0 站点,如果有人试图访问授权区域,他们会被重定向到登录页面,并且状态设置为 403。

在我的本地计算机上,它重定向到具有 403 状态的登录页面。在 IIS 7 上,我得到一个令人讨厌的 403 禁止页面,而不是登录页面。

我怎样才能让它像在本地一样在 IIS 7 上工作?

【问题讨论】:

    标签: asp.net asp.net-mvc iis-7


    【解决方案1】:

    IIS 具有所有 HTTP 错误代码的默认页面。您可以在 IIS 中覆盖这些以重定向到您自己的页面。

    IIS 还可以识别 web.config 文件中的 ASP.NET 标记,并在可用时首先使用它,因此您需要按如下方式设置自定义错误标记:

    <customErrors defaultRedirect="defaultError.aspx" mode="On">
       <error statusCode="403" redirect="my403page.aspx"/>
    </customErrors>
    

    希望这就是你所追求的。您还可以在 ASP.NET 中使用表单身份验证来实现此目的,它使用 cookie,但在您描述的场景中工作得很好,除非您特别需要将它们重定向到 403 页面。

    【讨论】:

    • 您提到了表单身份验证。 web.config 中的表单标签中是否有我可以设置的地方?如果身份验证失败,我只需要处理重定向。对于其他 403 错误,它可以转到默认页面。
    • 抱歉延迟响应 - 表单身份验证是 ASP.NET 中内置的身份验证机制。您可以通过 web.config 中的 标签进行设置。更多信息在这里:msdn.microsoft.com/en-us/library/ff647070.aspx
    【解决方案2】:

    “讨厌”听起来您的意思是 IIS 正在抛出其默认的 403 错误消息页面。您可以在 IIS 中设置自定义 403 错误以将用户重定向到您的友好登录页面。

    不一定是最好的设计,但根据您的解释,它可能会解决您的问题...

    【讨论】:

    • 由于代码的原因,我不得不把它交给其他人,但我把它撞了。
    【解决方案3】:

    我会检查以确保您的 web.config 文件中的 authentication settings 在两种环境中都相同。

    编辑

    您可能还遇到了匿名身份验证身份的问题。第一次将站点移动到 IIS7 时,我自己也遇到了这个问题。 MSDN 有a page 贯穿您可能的选择。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-15
      • 2016-10-06
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多