Asp.net 2.0 - activer un membershipuser

Contenu du snippet

En ASP.NET 2.0, lorsque vous utilisez le contrôle CreateUserWizard pour créer un compte, vous pouvez selectionner une option afin de ne pas activer le nouveau compte créé. Ceci peut être pratique par exemple si vous souhaitez avoir un Email de confirmation et de validation de compte, comportement classique sur les sites Internet. Vu que le contrôle CreateUserWiard est capable d'envoyer automatiquement un Email, et que vous pouvez customiser le message à l'aide de l'évènement "CreateUserWizard1_SendingMail", vous pouvez par exemple définir un lien avec une variable en querystring représentant l'identifiant du compte.

Voici un bout de code (un exemple de page) qui valide (active) un compte utilisateur en fonction de l'identifiant unique le représentant dans le memberShipProvider sélectionné.

Source / Exemple :


using System; 
using System.Data; 
using System.Configuration; 
using System.Collections; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
  
public partial class public_validation : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
        //on verifie qu'un guid est donné en parametre 
        if (Request.QueryString["guid"] != null) 
        { 
            string queryGuid = Request.QueryString["guid"]; 
            Guid gu = new Guid(queryGuid); 
  
            //on récupére le membershipUser correspondant au guid 
            MembershipUser user = Membership.GetUser(gu); 
            if (user != null) 
            { 
                //on active le compte utilisateur et on met à jour 
                user.IsApproved = true; 
                Membership.UpdateUser(user); 
  
                Label1.Text = "The user has been approved, you can now log in"; 
                Label1.ForeColor = System.Drawing.Color.Black; 
            } 
            else 
            { 
                Label1.Text = "This user doesn't exist ou has been deleted, you need to create your account again"; 
                Label1.ForeColor = System.Drawing.Color.Red; 
                //implementer ici l'erreur 
            } 
        } 
    } 
    protected void bt_continue_Click(object sender, EventArgs e) 
    { 
        //faire la redirection sur la page de connection par exemple, ou d'acceuil 
       // Response.Redirect("../private/private.aspx"); 
    } 
}

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.