Overloads MyMembershipProvider

[Résolu]
Signaler
Messages postés
119
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
3 octobre 2016
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Bonjour

Pour tous avouer je ne suis pas très familier de la prog Objet mais j'y travail.

Voila j'ai recréé mon propre MembershipProvider, maintenant je voudrais modifier la méthode

ValidateUser car actuellement elle ne permet de retourner que true/false et moi j'aimerai via un byref status savoir ce qui c'est passé (succès, mot de pass faux, username faux, compte bloqué, etc.).

j'ai donc écrit
PublicOverloadsFunction ValidateUser(ByVal username AsString, ByVal password AsString, ByRef status AsString) As

Boolean

Mon code
EndFunction



mais cela n'est pas bon j'ai aussi essayé




Public
Overrides
Function ValidateUser(ByVal username AsString, ByVal password AsString) As

Boolean







Return ValidateUser(username, password, status)

End Function







Public
Overloads
Function ValidateUser(ByVal username AsString, ByVal password AsString, ByRef status AsString) As

Boolean

Mon code

EndFunction

et je fais l'appel comme suit

Dim Status AsString = ""

Membership.ValidateUser(Login1.UserName, Login1.Password)



Login1.FailureText = Status



mais bien sur status n'ai pas retourné.

si une ame charitable pouvais éclairer ma lanterne merci.





Bruno POUPON webmaster@primactif.com
HTTP://WWW.PRIMACTIF.COM

2 réponses

Messages postés
119
Date d'inscription
vendredi 27 décembre 2002
Statut
Membre
Dernière intervention
3 octobre 2016
1
Bon si quelqu'un est intéressé j'ai trouvé




Dim validate As MyMembershipProvider = CType(Membership.Provider, MyMembershipProvider)

C'est tous

Bruno POUPON webmaster@primactif.com
HTTP://WWW.PRIMACTIF.COM
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonsoir, 

Attention avec cette technique tu casses tout le pattern des membership ... Le but du membership c'est justement de travailler avec une classe abstraire (MembershipProvider) afin de pouvoir utiliser n'importe quel provider, ainsi on peut changer de provider à tout moment dans le web.config et le site fonctionnera toujours (en théorie) dans ton cas, on ne peut plus utilier un autre provider que le tiens à cause du cast ... Malheureusement à part modifier la classe de base, il n'y a pas beaucoup d'autres solutions.

Par contre au lieu de passer une string dans le status passe plutot une enum. Un String mesure n char, alors qu'une enum mesure un byte voir entier ... de plus ca évite les comparaisons bit à bit de string relativement lourdes.

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant