IIS7 401错误重定向(混合身份验证)

时间:2012-05-17 14:57:12

标签: c# asp.net iis-7

好的,所以我有一个Web应用程序,我开发了一个混合认证模式。我已经登录了两个页面(我正在使用IIS7),一个用于表单登录名为login.aspx,另一个用于登录名为winlogin.aspx。 Web配置如下所示:

<authentication mode="Forms">
      <forms cookieless="UseCookies" defaultUrl="Default.aspx" loginUrl="Login.aspx" name="xxx" path="/" protection="All" timeout="30"></forms>
    </authentication>
    <authorization>
      <deny users="?" />
      <allow users="*" />
    </authorization>
  </system.web>

<location path="WinLogin.aspx">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>

在IIS中,我已将winlogin页面设置为禁用匿名身份验证并启用Windows身份验证,因此我可以获取Windows身份验证弹出窗口(对于Windows用户名和密码)。一切正常,我发送一个带有[“LOGON_USER”]的cookie给表单,用户通过身份验证。问题是当尝试在弹出窗口上按下取消按钮时(在IIS 7上设置默认错误页面(401.htm,500.htm ...)和功能设置以在服务器上显示错误,只显示自定义错误的页面,401 .htm页面是给我的。这个行为没关系,但当我更改自定义错误页面(401错误)回到我的Login.aspx(这样用户可以用基于表单进行身份验证)当用户点击取消按钮,发生了一些奇怪的事情。当我加载WinLogin.aspx时弹出窗口没有出现,我自动被重定向到Login.aspx。我不知道为什么这样做,这意味着服务器错误(401)发生了。奇怪..。此页面设置为401错误但功能设置设置为:“本地请求和自定义的详细错误...”我的弹出窗口再次出现,并且可以进行身份​​验证。如果有人可以解释这种行为。

0 个答案:

没有答案