Asp.net 2.0 - activer un membershipuser

Soyez le premier à donner votre avis sur cette source.

Snippet vu 19 873 fois - Téléchargée 29 fois

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

Ajouter un commentaire

Commentaires

yann1947
Messages postés
19
Date d'inscription
vendredi 14 janvier 2005
Statut
Membre
Dernière intervention
6 mars 2013
-
Je teste actuellement la gestion des utilisateurs sur un site, j'ai réalisé un script similaire,tout fonctionne parfaitement sauf l'insertion du Guid dans le lien du mail.
J'arrise à inserer le login et le mot de passe avec :
.......<%UserName%>
.......<%Password%>
Pour le ProviderUserKey ?????
Utilisateur anonyme -
Merci pour l'info ! Je cherchais justement l'autre jour.
A++
quineman
Messages postés
72
Date d'inscription
jeudi 30 novembre 2000
Statut
Membre
Dernière intervention
10 novembre 2008
-
Comment envoi t on le guid dans le lien ?
C'est assez complexe pour un petit commentaire je pense ?
Merci pour la source !
En VB :
Imports System
Imports System.Data
Imports System.Configuration
Imports System.Collections
Imports System.Web
Imports System.Web.Security
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts
Imports System.Web.UI.HtmlControls

Partial Class authentification_validate
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Dim queryGuid As String
'on verifie qu'un guid est donné en parametre
If IsNothing(Request.QueryString("guid")) Then
queryGuid = Request.QueryString("guid")
Dim gu As New Guid(queryGuid)
'on récupére le membershipUser correspondant au guid
Dim User As MembershipUser
User = Membership.GetUser(gu)

If IsNothing(User) Then
User.IsApproved = True
Membership.UpdateUser(User)
'on active le compte utilisateur et on met à jour
lblMess.Text = "Votre compte est désormais actif."
Else
lblMess.Text = "L'utilisateur n'éxiste pas ou a été supprimé.
Vous devez créer un compte à nouveau."

End If
End If

End Sub

Protected Sub btnContinuer_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnContinuer.Click

Response.Redirect("~/authentification/Login.aspx")

End Sub


End Class

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.