Overblog Suivre ce blog
Editer l'article Administration Créer mon blog

Présentation

  • : Romagny13 - Du .NET,du pur .NET
  • Romagny13 - Du .NET,du pur .NET
  • : Cycle de progression Faire (quelque chose qui marche) -> comprendre ce que l’on fait/comment cela marche -> pousser plus loin les notions
  • Contact

Recherche

Articles Récents

2 février 2014 7 02 /02 /février /2014 01:09

3 Ajouter un mail de demande de confirmation d'inscription 

a-      Fichier VerificationMail.txt

Bonjour <%UserName%>

 

Pour valider votre inscription,veuillez cliquer sur ce lien <%VerificationUrl%>

 

b-      Register.aspx .Suite à la création du compte,l’utilisateur ne pourra pas se connecter tant qu’il n’aura pas activé son compte en cliquant sur le lien envoyé dans son mail d’inscription

<asp:CreateUserWizard ID="CreateUserWizard1" runat="server"

            DisableCreatedUser="true" LoginCreatedUser="false"

            OnCreatedUser="CreateUserWizard1_CreatedUser" UnknownErrorMessage="Vous allez recevoir un mail de confirmation d'inscription"

       >

 

Register.aspx.cs

protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)

    {

        MembershipUser user = Membership.GetUser(CreateUserWizard1.UserName);

        Guid userGuid = (Guid)user.ProviderUserKey;

        string urlBase = Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath;

        string verifyUrl = "/VerifyNewUser.aspx?ID=" + userGuid.ToString();

        string fullPath = urlBase + verifyUrl;

        string appPath = Request.PhysicalApplicationPath;

 

 

        using (StreamReader reader = new StreamReader(appPath + @"/VerificationMail.txt"))

        {

            MailMessage message = new MailMessage();

            message.IsBodyHtml = false;

            message.From = new MailAddress("dupond@wanadoo.fr");

            message.To.Add(CreateUserWizard1.Email);

            message.CC.Add(new MailAddress("dupond@wanadoo.fr"));

            message.Subject = "Vérification d'inscription";

 

            message.Body = reader.ReadToEnd();

            message.Body = message.Body.Replace("<%UserName%>", CreateUserWizard1.UserName);

            message.Body = message.Body.Replace("<%VerificationUrl%>", fullPath);

 

            SmtpClient client = new SmtpClient();

            client.Send(message);

 

        }

 

    }

 

c-       Ajouter une page VerifyNewUser.aspx avec un simple label

protected void Page_Load(object sender, EventArgs e)

    {

        if (string.IsNullOrEmpty(Request.QueryString["ID"]))

        { }

        else

        {           

            try

            {

                Guid userGuid;

                userGuid = new Guid(Request.QueryString["ID"]);

 

                MembershipUser user = Membership.GetUser(userGuid);

                if (user == null)

                {

                    Label1.Text = "Aucun utilisateur correspond à l'identifiant.";

                }

                else if (user.IsApproved)

                {

                    Label1.Text = "Ce compte a déja été activé .";

                }

                else

                {

                    user.IsApproved = true;

                    Membership.UpdateUser(user);

                    Label1.Text = "Votre compte est activé, vous pouvez désormais vous connecter";

                }

 

            }

            catch

            {

                Label1.Text = "Pas d'ID spécifié.";

            }         

        }

    }

 

    C - PasswordRecovery –Page PasswordRecovery.aspx – récupérer ses identifiants oubliés

<body>

    <form id="form1" runat="server">

    <div>

        <asp:PasswordRecovery ID="PasswordRecovery1" runat="server">

        </asp:PasswordRecovery>

    </div>

    </form>

</body>

</html>

Ne pas oublier d’indiquer au control login de la page d’authentification PasswordRecoveryUrl et passwordRecoveryText

    D-ChangePassword – Page EditProfile.aspx -Changer de mot de passe

Un utilisateur connecté pourrait avoir un lien lui permettant d’éditer son profil,changer de mot de passe (ce hyperlink étant ajouté à l’état connecté du LoginView de la masterpage)

<asp:LoginView ID="LoginView1" runat="server">

                    <AnonymousTemplate>

                        <asp:Login ID="Login1" runat="server"

                            CreateUserText="Devenir membre" CreateUserUrl="~/Register.aspx"

                            PasswordRecoveryText="Mot de passe oublié" PasswordRecoveryUrl="~/PasswordRecovery.aspx">

                        </asp:Login>

                    </AnonymousTemplate>

                    <LoggedInTemplate>

                        <div class="welcomebox">

                             <asp:LoginName ID="LoginName1" runat="server" FormatString="Hello {0}" meta:resourcekey="LoginName1Resource1"/>

                             <br />

                             <asp:LoginStatus ID="LoginStatus1" runat="server" />

                             <br />

                            <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/EditProfile.aspx">Editer le profil</asp:HyperLink>

                        </div> 

                    </LoggedInTemplate>

                </asp:LoginView>

 

EditProfil.aspx – on ajoute juste un control ChangePassword

<asp:ChangePassword ID="ChangePassword1" runat="server">

        </asp:ChangePassword>

 

Il est possible également d’envoyer un mail informant les nouveaux identifants

Ajouter un fichier texte ChangePasswordMail.txt

Voici vos nouveaux identifiants

 

UserName: <%UserName%>

Password: <%Password%>

 

 Dans la page EditProfil.aspx,ajouter la balise Maildefinition au control ChangePassword

 

  <asp:ChangePassword ID="ChangePassword1" runat="server">

            <ChangePasswordTemplate>

                <table cellpadding="1" cellspacing="0" style="border-collapse:collapse;">

                    <tr>

 

 

                </table>

            </ChangePasswordTemplate>

            <MailDefinition

                BodyFileName="~/ChangePasswordMail.txt"

                From="dupond@wanadoo.fr"

                Subject="Changement de mot de passe">

            </MailDefinition>

        </asp:ChangePassword>

 

 

 

Rappel des controls d’authentification asp.net

-          Login : permet à un membre de s’identifier

-          Loginstatus

-          Loginview

-          Loginname

-          Passwordrecovery

-          Changepassword

 

E – les controls de validation

-          Vérifier qu’un champ obligatoire n’est pas vide : requiredfieldvalidator

-          Vérifier que le contenu d’un champ respecte les valeurs acceptées : rangevalidator,regularexpressionvalidator, customvalidator

-          Vérifier que deux contenus correspondent (exemples 2 boites de saisie de mot de passe lors de la création d’un compte utilisateur) : comparevalidator

 

Ø  Affichage d’erreurs :

o   Texte entre les balises affiché par le contrôle de validation

o   Valeur de l’attribut errormessage du contrôle de validation affiché dans un control validationsummary

http://romagny13.over-blog.com/article-5481804.html

Partager cet article

Repost 0
Published by Romagny13 - dans ASP.NET
commenter cet article

commentaires