表单身份验证不会重定向到 defaultUrl

Forms authentication does not redirect to defaultUrl

我正在 asp.net 上开发一个网站,我包含了 FormsAutentication,但是当我第一次点击登录按钮时我遇到了问题,网站将我重定向到 http://localhost:2075/ instead of http://localhost:2075/Mensajes.aspx. The second time I complete user and password and click login button the web redirect me to http://localhost:2075/Mensajes.aspx。有什么想法吗?

这是我的web.config

    <system.web>
    <customErrors mode="Off"/>
    <sessionState timeout="90"/>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        <add assembly="System.Web.Extensions.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
        <add assembly="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
      </assemblies>
    </compilation>
    <authentication mode="Forms">
      <forms name="MiWeb" loginUrl="Autenticacion.aspx" defaultUrl="Mensajes.aspx" timeout="90"/>
    </authentication>
    <authorization>
      <deny users="?"/>
      <allow users="*"/>
    </authorization>
  </system.web>
  <system.webServer>
    <defaultDocument>
      <files>
        <add value="Autenticacion.aspx"/>
      </files>
    </defaultDocument>
    <directoryBrowse enabled="false"/>
  </system.webServer>

下面是我的代码

    protected void LoginUser_Authenticate(object sender, AuthenticateEventArgs e)
    {
        DAOUsuarios daouser = DAOUsuarios.Instance();
        try
        {
            Usuario usr = daouser.getByUsuario(LoginUser.UserName);
            if (usr != null)
            {
                    e.Authenticated = true;
                    Session["UsuarioLogueado"] = usr;
                    FormsAuthentication.RedirectFromLoginPage(LoginUser.UserName, LoginUser.RememberMeSet);
            }

        }
        catch (Exception ex)
        {
            LoginUser.FailureText = "Error al iniciar Sesion " + ex.Message;
        }
    }

为了以防万一有人需要它,我找到了这个问题的解决方案。首先,ReturnUrl=%2f 是 asp.net 的自动值。 如果您需要的页面需要身份验证,网站会将您重定向到登录页面,否则它会将您重定向到您想要在第一时间进入的页面。 由于我的 defaultDocument 设置为 "Autenticacion.aspx",该网站将我重定向到该页面。所以我将 defaultDocument 更改为 "Mensajes.aspx",它工作正常。