IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Question pointue sur le MemberShip [FAQ]


Sujet :

ASP.NET

  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Question pointue sur le MemberShip
    Salut

    Petit détail qui pourrait ne pas avoir d'importance, mais voilà, le public non informaticien aime bien les trucs facile à comprendre
    J'ai implémenté le mebership avec un Provider de cet accabit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <membership>
    	<providers>
    		<add connectionStringName="DataDev" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" enablePasswordRetrieval="true" enablePasswordReset="false" requiresQuestionAndAnswer="false" passwordFormat="Clear" requiresUniqueEmail="true" name="MemberShipBase" type="System.Web.Security.SqlMembershipProvider"/>
    	</providers>
    </membership>
    Lorsque l'utilisateur ne rempli pas les conditions de mot de passe ila le message suivant :
    Password length minimum: 4. Non-alphanumeric characters required: 0.
    Vous remarquerez qu'il est en anglais car le serveur est en culture anglaise, mais qu'en plus, à part pour un informaticien bien geek, le message n'est pas trés "séxy".

    Donc j'ai plongé dans le MSDN espérant trouver une propriété du MemberShip pour spécifier un message d'erreur et là, peau de balle, rien, nada.

    Avez vous une idée ?

  2. #2
    Membre chevronné Avatar de predalpha
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 392
    Par défaut
    Salut Zooffy, est ce que c'est ca?

    n'utilisant pas le membershipprovider, je te laisse avec mon pifometre

    http://msdn.microsoft.com/en-us/libr...ge(VS.85).aspx

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci pour ton aide PredAlpha

    En fait, ce truc là fonctionne lorsque tu défini ton MemberShip dans ta page ou ton composant. Mais il est supplenté par un autre truc (celui que je cherche) lorsque tu défini ton MemberShipProvider dans le Web.config, comme moi j'ai fait.

    De ce que j'ai réussi à comprendre c'est lorsque tu défini une longueur dnas le Web.Config, sur supplente toute les propriétés du CreatUserWizard ou alors, j'ai pas vu le détail qui tue.

    Une autre idée peut être ?

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    C'est du C# mais t'es devenu un pro de la traduction maintenant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    protected void CreateAccountButton_Click(object sender, EventArgs e) {
    MembershipCreateStatus createStatus;      
    MembershipUser newUser = Membership.CreateUser(Username.Text, Password.Text, Email.Text, passwordQuestion, SecurityAnswer.Text, true, out createStatus);      
    switch (createStatus)      
    {           
        case MembershipCreateStatus.Success:
            CreateAccountResults.Text = "The user account was successfully created!";
            break;           
        case MembershipCreateStatus.DuplicateUserName:
            CreateAccountResults.Text = "There already exists a user with this username.";
            break;           
        case MembershipCreateStatus.DuplicateEmail:
            CreateAccountResults.Text = "There already exists a user with this email address.";
            break;           
        case MembershipCreateStatus.InvalidEmail:
            CreateAccountResults.Text = "There email address you provided in invalid.";
            break;           
        case MembershipCreateStatus.InvalidAnswer:
            CreateAccountResults.Text = "There security answer was invalid.";
            break;           
        case MembershipCreateStatus.InvalidPassword:
            CreateAccountResults.Text = "The password you provided is invalid. It must be seven characters long and have at least one non-alphanumeric character.";
            break;           
        default:
            CreateAccountResults.Text = "There was an unknown error; the user account was NOT created.";
            break;      
        } 
    }

  5. #5
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Merci LuteceFalco.
    Effectivement, la translation de code ne va pas être trés compliquée.

    Mais j'ai un souci pour comprendre le contexte de ce code. En fait il s'git une Sub sur le click d'un bouton, mais là, tu pars du principe que le bouton est ajouté manuellement. Hors, dans mon cas, j'utilse le bouton du controle CreateUserWizard.

    Donc, si je suis ton raisonnement, il faut que je rajoute un Label pour accueilir le message et que je me plug sur le OnClick du bouton du contrôle CreateUserWizard, c'est bien ça ?

    Du coup, je perd l'automatisation du contrôle, c'est moyen pas cool.

    Ce que je comprend pas c'est que les messages d'erreur sont bien stocké quelquepart, on peut pas les modifier ?

  6. #6
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Je sais pas si tu peux modifier les messages par défaut

  7. #7
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ben si toi, balaise comme tu es, tu sais pas, qui va savoir ?

    Décidément, je crois que le MemberShip est comme une belle blondasse sur la plage d'Ibiza : t'en a envie, mais tu l'auras jamais ! ! !

    Sinon, j'ai eu un idée dans la même veine, grâce à ton code, mon cerveau a fontionné différement.

    Je viens d'essayer ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
        Protected Sub CreateUserWizard1_CreateUserError(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.CreateUserErrorEventArgs) Handles CreateUserWizard1.CreateUserError
            Select Case e.CreateUserError
                Case MembershipCreateStatus.DuplicateEmail
                    lblErMsg.Text = "email duplique, poil au nez"
                Case MembershipCreateStatus.InvalidPassword
                    lblErMsg.Text = "pas bon le password"
            End Select
        End Sub
    Parce que, la sub que j'utilise est celle qui démarre lorsque le User est Created. Il y a aussi une Sub qui démarre lorsuqe le User est Creating (tu suis toujours les petite subtilité ?)

    Du coup, lorsque je plante le mot de passe ou que je mets un email dupliqué, j'ai bien un message d'erreur personalisé qui s'affiche, mais j'ai aussi, le message par défaut. Et bien sûr, je trouve pas le moyen de lui dire de pas s'afficher, qu'un autre message plus sympa à pris sa place. En fait, je crois qu'il fit de la résistance car il ne veut pas se faire virer comme ça !

    Aurais tu une idée ?

  8. #8
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    OK, cherchez plus, j'ai trouvé :
    En fait, parmi les propriétés du CreateUserWizard, y un truc qui traine et qui permet de remplacer les message d'erreur par défaut. Fallait jsute comprendre que les 12 millions de message doivent être géré les uns aprés les autres.

    Donc j'ai fini par trouvé un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CreateUserWizard1.InvalidPasswordErrorMessage = dt.Rows(0).Item("InvalidPasswordErrorMessage")
    Et donc je le charge avec un truc stocké en base de donnée. Et y en a plein de comme ça, bien planqué parmi les centaine de propriété du contrôle. Mais c'est la mouise, faut tout reprendre.

    Merci pour votre coup de main.
    A force, je vasi peut être devenir expert MemberShip, je vais ouvir ma rubrique !

    Bon week-end à tous, ça m'a bien gavé, je crois que je faire du Wow le restant de l'aprés midi.

  9. #9
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Bon week-end à tous, ça m'a bien gavé, je crois que je faire du Wow le restant de l'aprés midi.
    Ils embauchent dans ta boite

  10. #10
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ah, toi, t'a pas suivi les dernières péripéties de ma carrière : je suis licencié depsui le 28 Octobre !

    Ma boite, ben comme tu dis, c'est MA Boite. J'ai décidé de me mettre à mon compte. Du coup, ils embauchent, ben pas pour l'instant, mais qui sait, peut être un jour. Faudra que tu abandonne ton habitat parisien pa contre.

    Sinon, je me retrouve devant mon problème, presque comme au début. Ce matin, aprés un bon week-end, je me suis dis que j'allais pouvoir enquiller gentillement et finir mon formulaire et bien peau de balle.

    Alors voici la decription, le code est plus bas.

    Sur la prorpiété InvalidPasswordErrorMessage, j'envoi un texte qui veint de la BDD et tout va bien, il remplace le texte par défaut.
    Sur la propriété DuplicateUserNameErrorMessage, que dalle. Il me mets le texte par défaut du FrameWork

    Et là, je m'arrache le cheveux : comment le CreateUserWizard peut il traiter deux propriétés trés similaire de manière si différentes ?

    Donc le code, comme ça vous verrez que c'est assez simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    With CreateUserWizard1
                .InvalidPasswordErrorMessage = dt.Rows(0).Item("InvalidPasswordErrorMessage")
                .DuplicateUserNameErrorMessage = dt.Rows(0).Item("DuplicateUserNameErrorMessage")
    End With
    Et en plus, j'ai pris soin de nommer mes champs avec le nom exact de la propriété, histoire de pas me mélanger.

    Bref, j'y perd mon assembleur.

  11. #11
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    T'es sûr que les valeurs stockées dans dt sont bonnes?

  12. #12
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Oui, j'ai plein d'autres trucs dans cette table puisque c'est avec elle que je gère tous les textes de label, de boutons et autres.

    Dans mon morceau de code je t'ai pas tout mis car la Sub fait plus de 200 lignes.

    Pour être vraiment sûr j'ai fait ça comme test :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    With CreateUserWizard1
                '.InvalidPasswordErrorMessage = dt.Rows(0).Item("InvalidPasswordErrorMessage")
                .DuplicateUserNameErrorMessage = dt.Rows(0).Item("DuplicateUserNameErrorMessage")
                .InvalidPasswordErrorMessage = dt.Rows(0).Item("DuplicateUserNameErrorMessage")
    End With
    Et là j'ai bien le message de duplication de mail sur l'erreur de mot de passe.


    Heu, attends. Pendant que j'écrivais cette réponse, j'ai refait le test, puis je suis revenu à la normale et je m'aperçois que maintenant il me donne le bon messsge sur les bonnes erreurs. Je comprends plus rien ou alors tu es un champion du hackage et tu es entré sur ma bécanne pour tout corrigé sans que je te vois.......

    Ou alors, l'informatique est un réligion et tu es un grnad prêtre, tu as demandé au dieu de l'Octet de faire une action et tes prières viennent d'être exocées.

    Bref, je comprends plus rien. Mais merci pour ton aide. décidément, l'informatique est une science de moins en moins exacte..............

    Kenavo

  13. #13
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Tu compiles bien à chaque fois?

  14. #14
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    oui, oui, la compilation est automatique à chaque lecture de la page (si elle a été modifiée dans son code).

    Mais en plus, vu que je travaille sur des sesions d'utilisateur avec connexion, je me déconnecte et je me reconnecte pour être sûr de ne pas avoir un problème de session ou de mémoire.

    Bon, l'important c'est que ça marche, on verra si ça tient la route ensuite.

  15. #15
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Bon, ben à chaque jour son lot d'incohérence.

    Ce matin, monsieur le composant a décidé de ne plus fonctionner et me renvoi le message par défaut sur la duplication de mail.

    Je n'y comprends plus rien. J'ai vraiment besoins d'un coup de main pour descendre une batterie de test qui me permettra de trouver d'où vient ce problème et lui régler son compte.

    J'ai l'impression qu'un Korrigan se balade dans mon code.

Discussions similaires

  1. Réponses: 2
    Dernier message: 12/11/2010, 00h22
  2. Questions sur le membership
    Par Promesses dans le forum ASP.NET
    Réponses: 1
    Dernier message: 20/02/2007, 11h20
  3. Réponses: 4
    Dernier message: 13/02/2006, 11h11
  4. [LDAP] Questions générales sur LDAP
    Par guiguisi dans le forum Autres SGBD
    Réponses: 5
    Dernier message: 25/05/2005, 10h05
  5. Question simple sur les threads :)
    Par momox dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/06/2003, 04h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo