begin process at 2008 08 08 21:03:42
1 223 607 membres
365 nouveaux aujourd'hui
14 230 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ASP.NET 2.0 - ACTIVER UN MEMBERSHIPUSER


Information sur la source

Catégorie :Astuces Source .NET ( DotNet ) Classé sous : membership, membershipuser, createuserwizard Niveau : Débutant Date de création : 22/02/2006 Vu : 12 397

Note :
9 / 10 - par 2 personnes
9,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note


Description

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

  • 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");
  • }
  • }
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"); 
    } 
} 
 
  • signaler à un administrateur
    Commentaire de quineman le 19/09/2006 12:35:25

    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é. <br /> 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

  • signaler à un administrateur
    Commentaire de fabienfs le 03/01/2008 16:15:16 administrateur CS 9/10

    Merci pour l'info ! Je cherchais justement l'autre jour.
    A++

  • signaler à un administrateur
    Commentaire de yann1947 le 15/03/2008 01:29:01

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

Ajouter un commentaire

Pub



Appels d'offres

Snippets en rapport

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS