由于IIS中的"默认文档",必须两次登录到asp.net应用程序

ale*_*nso 5 asp.net iis login default-document

以前,我已将login.aspx添加到IIS中的" 默认文档"部分.

但是,当有人访问该应用程序时,需要登录两次.第一个不会说任何错误消息或没有重定向到应用程序中的下一页.第二个实际上会将用户重定向到预期的页面.并且用户两次都使用正确的凭据.

一旦我从IIS中的Default Document部分删除了login.aspx,并且用户提供了应用程序的完整链接(〜/ login.aspx),问题就消失了,因为它只需要登录一次.

有谁知道为什么会这样?

ale*_*nso 1

为了解决这个问题,在Default Document的Page_Load事件中,必须检查以下内容:

if (this.User.Identity.IsAuthenticated)
{
    Response.Redirect("somepage.aspx");
}
Run Code Online (Sandbox Code Playgroud)

来源:asp.net 表单身份验证更改 .net 2 至 .net4