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