3 votes

Authentification du formulaire de connexion ASP.NET sans contrôle de connexion

J'utilise ASP.NET membership et sur la page d'enregistrement j'essaie de me connecter sans contrôle de connexion.

Lorsque l'utilisateur clique sur le bouton d'enregistrement, le contrôle passe à la page redirect.aspx. Mais dans cette page, lorsque j'essaie de rediriger vers la page d'accueil des membres, l'erreur suivante se produit.

ERROR -

Unable to evaluate expression because the code is optimized or a native frame
is on top of the call stack.

Web.config -

<authentication mode="Forms">
    <forms name=".SSOAuth" loginUrl="login.aspx" defaultUrl="Redirect.aspx"
           protection="Validation" timeout="30000"/>
</authentication>

Code de la page d'enregistrement -

protected void btnRegister_Click(object sender, EventArgs e)
{
    MembershipUser userMemb = Membership.CreateUser(
                           txtemail.Text.Replace("'", "''").ToString(),
                           txtPassword.Text.Replace("'", "''").ToString(),
                           txtemail.Text.ToString());

    Roles.AddUserToRole(txtemail.Text.ToString(), "Member");
    FormsAuthentication.RedirectFromLoginPage(txtemail.Text.Trim(), false);
}

Redirect.aspx.cs code -

try
{
    if (User.IsInRole("Member"))
    {
        string UserName = User.Identity.Name;                        
        Response.Redirect("~/Member/MembeHome.aspx");
    }
}
catch(Exception ex) {}

1voto

AVD Points 57984

Lire ce document (problème et solution) Une exception ThreadAbortException se produit si vous utilisez Response.End, Response.Redirect ou Server.Transfer.

Utilisez Response.Redirect(url,false)

Response.Redirect("~/Member/MembeHome.aspx",false);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X