Membresía de ASP.net, URL de retorno y página de redireccionamiento

programación


Estoy usando el control de inicio de sesión en la membresía de ASPnet
Agregué un enlace en este control (por ejemplo: olvidar contraseña), quiero que el usuario redirija a la página siguiente (por ejemplo: olvidar contraseña.aspx)

V.B.
<asp:Login ID="Login1" runat="server"  EnableViewState="true"
         OnLoggedIn="Login1_LoggedIn"   >

XML
<asp:LinkButton ID ="ForgotPassword" runat="server"
                                            onclick="ForgotPassword_Click" >Forgot password</asp:LinkButton>

Al usar la Membresía tengo un problema con la URL de retorno en la página de inicio de sesión.
entonces lo usé en global.asax
//mi código va aquí

C#
void Application_BeginRequest(object sender, EventArgs e)
   {
       string path = HttpContext.Current.Request.Url.PathAndQuery;
       string pagequery = path.Substring(path.LastIndexOf("/") + 1);
       string[] pagequery_Elements = pagequery.Split('?');
       string ReturnUrl = pagequery_Elements[pagequery_Elements.Length - 1];

       if (ReturnUrl.Contains("ReturnUrl"))
       {         
           Response.Redirect("~/login.aspx", true);
       }
   }

antes mi URL era //…login.aspx?ReturnUrl=%2fReport%2fDefault.aspx
Al hacer esto, se solucionó el problema de devolución de URL en la página de inicio de sesión.
No quiero utilizar la membresía de Aspnet para recuperar la contraseña.
mi web.config

XML
<authentication mode="Forms">
      <forms name=".ASPXFORMSAUTH" loginUrl="login.aspx" protection="All" path="/" timeout="43200"    requireSSL="false"
      slidingExpiration="true"
      cookieless="UseCookies"
      enableCrossAppRedirects="false" />
    </authentication>

//MI PROBLEMA

Quiero redirigir al usuario a la página siguiente al hacer clic en un botón de enlace… desde la página de inicio de sesión
Mi evento de clic en el botón no redirige a la página siguiente… y redirige a la página de inicio de sesión… desde global.asax…

¿Cómo superar esto…?
Por favor, ayúdame..
gracias de antemano..

Solución 1

Es posible que deba permitir el acceso a la página de contraseña olvidada a todos los usuarios. Intente agregar el siguiente código al archivo web.config.

XML
<configuration>
   <location path="Forgetpassword.aspx">
      <system.web>
         <authorization>
            <allow users="*"/>
         </authorization>
      </system.web>
   </location>
</configuration>

コメント

タイトルとURLをコピーしました