Adhésion à ASP.net, URL de retour et page de redirection

la programmation


J’utilise le contrôle de connexion dans l’adhésion à ASPnet
J’ai ajouté un lien dans ce contrôle (ex : oublier le mot de passe), je souhaite que l’utilisateur soit redirigé vers la page suivante (par exemple : Forgetpassword.aspx)

VB
<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>

lors de l’utilisation de l’adhésion, j’ai un problème d’URL de retour sur la page de connexion
donc j’ai utilisé dans global.asax
//mon code va ici

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);
       }
   }

avant mon URL était //…login.aspx?ReturnUrl=%2fReport%2fDefault.aspx
En faisant cela, le problème de Returnurl dans la page de connexion a été surmonté.
je ne veux pas utiliser l’adhésion à Aspnet pour récupérer le mot de passe
mon 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>

//MON PROBLÈME

Je souhaite rediriger l’utilisateur vers la page suivante en cliquant sur un bouton de lien… depuis la page de connexion
mon événement Buttonclick ne redirige pas vers la page suivante..et redirige vers la page de connexion elle-même.. depuis global.asax ..

Comment surmonter cela..?
S’il vous plaît aidez-moi..
Merci d’avance..

Solution 1

Vous devrez peut-être autoriser l’accès à la page de mot de passe oublié à tous les utilisateurs. Essayez d’ajouter le code suivant au fichier web.config.

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

コメント

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